From 047d7f1d9422e81f739fc51c169639e28f26c942 Mon Sep 17 00:00:00 2001 From: mingda Date: Fri, 20 Nov 2020 18:58:35 +0800 Subject: [PATCH] fix dvm test context --- .gitignore | 1 + build-v1/contracts/Admin.json | 7151 -- .../BandBNBBUSDPriceOracleProxy.json | 1047 - .../ChainlinkCOMPUSDCPriceOracleProxy.json | 788 - .../ChainlinkETHPriceOracleProxy.json | 788 - .../ChainlinkETHUSDTPriceOracleProxy.json | 862 - .../ChainlinkLENDUSDCPriceOracleProxy.json | 788 - .../ChainlinkLINKUSDCPriceOracleProxy.json | 788 - .../ChainlinkSNXUSDCPriceOracleProxy.json | 788 - .../ChainlinkWBTCUSDCPriceOracleProxy.json | 896 - .../ChainlinkYFIUSDCPriceOracleProxy.json | 1573 - build-v1/contracts/CloneFactory.json | 1281 - build-v1/contracts/ConstOracle.json | 607 - build-v1/contracts/DODO.json | 5964 -- build-v1/contracts/DODOEthProxy.json | 34491 --------- build-v1/contracts/DODOLpToken.json | 10705 --- build-v1/contracts/DODOMath.json | 9192 --- build-v1/contracts/DODOMine.json | 33367 --------- build-v1/contracts/DODOMineReader.json | 3640 - build-v1/contracts/DODORewardVault.json | 1496 - build-v1/contracts/DODOToken.json | 7127 -- build-v1/contracts/DODOZoo.json | 9817 --- build-v1/contracts/DecimalMath.json | 2332 - build-v1/contracts/IBandOracleAggregator.json | 1034 - build-v1/contracts/IChainlink.json | 1547 - build-v1/contracts/ICloneFactory.json | 1281 - build-v1/contracts/IDODO.json | 3900 - build-v1/contracts/IDODOCallee.json | 440 - build-v1/contracts/IDODOLpToken.json | 838 - build-v1/contracts/IDODOMine.json | 3630 - build-v1/contracts/IDODORewardVault.json | 1388 - build-v1/contracts/IDODOZoo.json | 34000 --------- build-v1/contracts/IERC20.json | 1889 - build-v1/contracts/IMinimumOracle.json | 2743 - build-v1/contracts/IOracle.json | 257 - build-v1/contracts/IUniswapV2Callee.json | 59170 --------------- build-v1/contracts/IUniswapV2ERC20.json | 59452 --------------- build-v1/contracts/IUniswapV2Factory.json | 59305 --------------- build-v1/contracts/IUniswapV2Pair.json | 59793 --------------- build-v1/contracts/IWETH.json | 1735 - build-v1/contracts/InitializableOwnable.json | 2453 - build-v1/contracts/LiquidityProvider.json | 29808 -------- build-v1/contracts/LockedTokenVault.json | 14437 ---- build-v1/contracts/Math.json | 59141 --------------- build-v1/contracts/Migrations.json | 1451 - build-v1/contracts/MinimumOracle.json | 2793 - .../contracts/MultiSigWalletWithTimelock.json | 31203 -------- build-v1/contracts/NaiveOracle.json | 835 - build-v1/contracts/Ownable.json | 2895 - build-v1/contracts/Pricing.json | 14277 ---- build-v1/contracts/ReentrancyGuard.json | 648 - build-v1/contracts/SafeERC20.json | 4183 -- build-v1/contracts/SafeMath.json | 4884 -- build-v1/contracts/Settlement.json | 15774 ---- build-v1/contracts/Storage.json | 6490 -- build-v1/contracts/TestERC20.json | 7880 -- build-v1/contracts/Trader.json | 20610 ------ build-v1/contracts/Types.json | 181 - build-v1/contracts/UQ112x112.json | 59141 --------------- build-v1/contracts/UniswapArbitrageur.json | 17989 ----- build-v1/contracts/UniswapV2ERC20.json | 59452 --------------- build-v1/contracts/UniswapV2Pair.json | 59798 ---------------- build-v1/contracts/WETH9.json | 6950 -- contracts/DODOPrivatePool/impl/DPPStorage.sol | 4 +- contracts/DODOPrivatePool/impl/DPPTrader.sol | 20 +- .../impl/DVM.sol | 0 .../impl/DVMFunding.sol | 0 .../impl/DVMStorage.sol | 0 .../impl/DVMTrader.sol | 6 +- .../impl/DVMVault.sol | 0 .../intf/IDVM.sol | 12 + contracts/Factory/DVMFactory.sol | 4 +- .../{SmartRoute.sol => DVMProxy.sol} | 31 +- contracts/lib/ExternalValue.sol | 5 +- contracts/lib/GasPriceSource.sol | 29 - contracts/lib/PMMPricing.sol | 32 +- deploy-detail.txt | 8 - migrations/1_initial_migration.js | 2 +- test/DVM/funding.test.ts | 28 +- test/DVM/trader.test.ts | 30 +- test/utils/Contracts.ts | 4 +- test/utils/DVMContext.ts | 21 +- 82 files changed, 107 insertions(+), 851293 deletions(-) delete mode 100644 build-v1/contracts/Admin.json delete mode 100644 build-v1/contracts/BandBNBBUSDPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkCOMPUSDCPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkETHPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkETHUSDTPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkLENDUSDCPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkLINKUSDCPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkSNXUSDCPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkWBTCUSDCPriceOracleProxy.json delete mode 100644 build-v1/contracts/ChainlinkYFIUSDCPriceOracleProxy.json delete mode 100644 build-v1/contracts/CloneFactory.json delete mode 100644 build-v1/contracts/ConstOracle.json delete mode 100644 build-v1/contracts/DODO.json delete mode 100644 build-v1/contracts/DODOEthProxy.json delete mode 100644 build-v1/contracts/DODOLpToken.json delete mode 100644 build-v1/contracts/DODOMath.json delete mode 100644 build-v1/contracts/DODOMine.json delete mode 100644 build-v1/contracts/DODOMineReader.json delete mode 100644 build-v1/contracts/DODORewardVault.json delete mode 100644 build-v1/contracts/DODOToken.json delete mode 100644 build-v1/contracts/DODOZoo.json delete mode 100644 build-v1/contracts/DecimalMath.json delete mode 100644 build-v1/contracts/IBandOracleAggregator.json delete mode 100644 build-v1/contracts/IChainlink.json delete mode 100644 build-v1/contracts/ICloneFactory.json delete mode 100644 build-v1/contracts/IDODO.json delete mode 100644 build-v1/contracts/IDODOCallee.json delete mode 100644 build-v1/contracts/IDODOLpToken.json delete mode 100644 build-v1/contracts/IDODOMine.json delete mode 100644 build-v1/contracts/IDODORewardVault.json delete mode 100644 build-v1/contracts/IDODOZoo.json delete mode 100644 build-v1/contracts/IERC20.json delete mode 100644 build-v1/contracts/IMinimumOracle.json delete mode 100644 build-v1/contracts/IOracle.json delete mode 100644 build-v1/contracts/IUniswapV2Callee.json delete mode 100644 build-v1/contracts/IUniswapV2ERC20.json delete mode 100644 build-v1/contracts/IUniswapV2Factory.json delete mode 100644 build-v1/contracts/IUniswapV2Pair.json delete mode 100644 build-v1/contracts/IWETH.json delete mode 100644 build-v1/contracts/InitializableOwnable.json delete mode 100644 build-v1/contracts/LiquidityProvider.json delete mode 100644 build-v1/contracts/LockedTokenVault.json delete mode 100644 build-v1/contracts/Math.json delete mode 100644 build-v1/contracts/Migrations.json delete mode 100644 build-v1/contracts/MinimumOracle.json delete mode 100644 build-v1/contracts/MultiSigWalletWithTimelock.json delete mode 100644 build-v1/contracts/NaiveOracle.json delete mode 100644 build-v1/contracts/Ownable.json delete mode 100644 build-v1/contracts/Pricing.json delete mode 100644 build-v1/contracts/ReentrancyGuard.json delete mode 100644 build-v1/contracts/SafeERC20.json delete mode 100644 build-v1/contracts/SafeMath.json delete mode 100644 build-v1/contracts/Settlement.json delete mode 100644 build-v1/contracts/Storage.json delete mode 100644 build-v1/contracts/TestERC20.json delete mode 100644 build-v1/contracts/Trader.json delete mode 100644 build-v1/contracts/Types.json delete mode 100644 build-v1/contracts/UQ112x112.json delete mode 100644 build-v1/contracts/UniswapArbitrageur.json delete mode 100644 build-v1/contracts/UniswapV2ERC20.json delete mode 100644 build-v1/contracts/UniswapV2Pair.json delete mode 100644 build-v1/contracts/WETH9.json rename contracts/{DODOVendorMachine => DODOVendingMachine}/impl/DVM.sol (100%) rename contracts/{DODOVendorMachine => DODOVendingMachine}/impl/DVMFunding.sol (100%) rename contracts/{DODOVendorMachine => DODOVendingMachine}/impl/DVMStorage.sol (100%) rename contracts/{DODOVendorMachine => DODOVendingMachine}/impl/DVMTrader.sol (97%) rename contracts/{DODOVendorMachine => DODOVendingMachine}/impl/DVMVault.sol (100%) rename contracts/{DODOVendorMachine => DODOVendingMachine}/intf/IDVM.sol (54%) rename contracts/SmartRoute/{SmartRoute.sol => DVMProxy.sol} (74%) delete mode 100644 contracts/lib/GasPriceSource.sol diff --git a/.gitignore b/.gitignore index 658570c..251962d 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ node_modules #Hardhat files cache artifacts +deploy-detail.txt \ No newline at end of file diff --git a/build-v1/contracts/Admin.json b/build-v1/contracts/Admin.json deleted file mode 100644 index 7005891..0000000 --- a/build-v1/contracts/Admin.json +++ /dev/null @@ -1,7151 +0,0 @@ -{ - "contractName": "Admin", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "oldGasPriceLimit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newGasPriceLimit", - "type": "uint256" - } - ], - "name": "UpdateGasPriceLimit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldK", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newK", - "type": "uint256" - } - ], - "name": "UpdateK", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldLiquidityProviderFeeRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newLiquidityProviderFeeRate", - "type": "uint256" - } - ], - "name": "UpdateLiquidityProviderFeeRate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldMaintainerFeeRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newMaintainerFeeRate", - "type": "uint256" - } - ], - "name": "UpdateMaintainerFeeRate", - "type": "event" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOracle", - "type": "address" - } - ], - "name": "setOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newSupervisor", - "type": "address" - } - ], - "name": "setSupervisor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newMaintainer", - "type": "address" - } - ], - "name": "setMaintainer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newLiquidityPorviderFeeRate", - "type": "uint256" - } - ], - "name": "setLiquidityProviderFeeRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newMaintainerFeeRate", - "type": "uint256" - } - ], - "name": "setMaintainerFeeRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newK", - "type": "uint256" - } - ], - "name": "setK", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newGasPriceLimit", - "type": "uint256" - } - ], - "name": "setGasPriceLimit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableTrading", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableTrading", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableQuoteDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableQuoteDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableBaseDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableBaseDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableBuying", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableBuying", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableSelling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableSelling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newBaseBalanceLimit", - "type": "uint256" - } - ], - "name": "setBaseBalanceLimit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newQuoteBalanceLimit", - "type": "uint256" - } - ], - "name": "setQuoteBalanceLimit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"oldGasPriceLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newGasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"UpdateGasPriceLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldK\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newK\",\"type\":\"uint256\"}],\"name\":\"UpdateK\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLiquidityProviderFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLiquidityProviderFeeRate\",\"type\":\"uint256\"}],\"name\":\"UpdateLiquidityProviderFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMaintainerFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaintainerFeeRate\",\"type\":\"uint256\"}],\"name\":\"UpdateMaintainerFeeRate\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableBaseDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableBuying\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableQuoteDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableSelling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableTrading\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableBaseDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableBuying\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableQuoteDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableSelling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableTrading\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBaseBalanceLimit\",\"type\":\"uint256\"}],\"name\":\"setBaseBalanceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"setGasPriceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newK\",\"type\":\"uint256\"}],\"name\":\"setK\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newLiquidityPorviderFeeRate\",\"type\":\"uint256\"}],\"name\":\"setLiquidityProviderFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newMaintainer\",\"type\":\"address\"}],\"name\":\"setMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMaintainerFeeRate\",\"type\":\"uint256\"}],\"name\":\"setMaintainerFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOracle\",\"type\":\"address\"}],\"name\":\"setOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuoteBalanceLimit\",\"type\":\"uint256\"}],\"name\":\"setQuoteBalanceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newSupervisor\",\"type\":\"address\"}],\"name\":\"setSupervisor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Admin\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for admin operations\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol\":\"Admin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol\":{\"keccak256\":\"0x04a6c300c659e67733e5d89e709e052f0d095a5e825a467410d49ef6691fae56\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f6d4417d9c9bb16431ab7622d6e0f8e8f2233fbad1e71d6ff7971926d9470807\",\"dweb:/ipfs/QmXqLYnbs6Yuhhg9knkNx5AvZWqxkvZsVKmPUJo2j9FqtE\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061142b806100206000396000f3fe608060405234801561001057600080fd5b50600436106103785760003560e01c80637c9b8e89116101d3578063b2094fd311610104578063d689107c116100a2578063ec2fd46d1161007c578063ec2fd46d146105ca578063f2220416146105d2578063f2fde38b146105e5578063f67ed448146105f857610378565b8063d689107c146105b2578063dd58b41c146105ba578063eab5d20e146105c257610378565b8063c5bbffe8116100de578063c5bbffe814610592578063c6b73cf91461059a578063cc062b58146105a2578063d4b97046146105aa57610378565b8063b2094fd31461057a578063bc7d679d14610582578063c0ffa1781461058a57610378565b806397316ad811610171578063a598aca71161014b578063a598aca71461055a578063ab44a7a314610562578063ac1fbc981461056a578063aceecbc81461057257610378565b806397316ad8146105375780639b020fba1461054a578063a3161a561461055257610378565b80638a8c523c116101ad5780638a8c523c1461050c5780638ff5e7421461051457806390cbf8221461051c5780639299eb301461052457610378565b80637c9b8e89146104e95780638456db15146104f1578063892daf05146104f957610378565b80633960f142116102ad57806367de8be91161024b57806373a2ab7c1161022557806373a2ab7c146104b3578063796da7af146104bb5780637adbf973146104c35780637aed942d146104d657610378565b806367de8be91461047857806368be20ad1461048b5780636ec6a58d146104ab57610378565b80634de4527e116102875780634de4527e1461044d5780634e71e0c81461045557806354fd4d501461045d5780635bb7552a1461046557610378565b80633960f142146104355780634322ec831461043d5780634a248d2a1461044557610378565b80631769ddaa1161031a578063245c9685116102f4578063245c968514610415578063247f993b1461041d5780632aa82c651461042557806336ac41a81461042d57610378565b80631769ddaa146103f057806317700f01146103f857806317be952e1461040057610378565b80631184d8be116103565780631184d8be146103b857806313c57624146103c057806313ea5d29146103c857806316048bc4146103db57610378565b8063092316021461037d5780630cd1667d146103925780630e6518e9146103b0575b600080fd5b61039061038b36600461122b565b61060b565b005b61039a610693565b6040516103a791906113de565b60405180910390f35b61039a610716565b61039061071c565b610390610785565b6103906103d6366004611204565b6107d3565b6103e361081f565b6040516103a7919061125b565b61039a61082e565b610390610834565b610408610882565b6040516103a7919061127a565b61039a61088b565b610390610891565b61039a6108dc565b610390610921565b6103e361098a565b6103e3610999565b6103e36109a8565b61039a6109b7565b6103906109bd565b61039a610a4b565b61039061047336600461122b565b610a50565b61039061048636600461122b565b610ac6565b61049e610499366004611204565b610b38565b6040516103a7919061126f565b61049e610b4d565b6103e3610b5d565b61039a610b6c565b6103906104d1366004611204565b610bb1565b61039a6104e4366004611204565b610bfd565b61039a610c84565b6103e3610c8a565b61039061050736600461122b565b610c99565b610390610cf2565b61049e610d5b565b610390610d69565b610390610532366004611204565b610dcc565b61039061054536600461122b565b610e18565b61039a610e71565b61049e610e77565b61049e610e80565b61039a610e90565b6103e3610e96565b610390610ea5565b61039a610ef1565b610390610ef7565b61039a610f45565b61049e610f4b565b61039a610f5b565b610390610f61565b6103e3610fc6565b6103e3610fd5565b61049e610fe4565b61039a610ff4565b61039a610ffa565b6103906105e036600461122b565b611000565b6103906105f3366004611204565b611072565b61039a610606366004611204565b61111d565b6006546001600160a01b031633148061062e57506000546001600160a01b031633145b6106535760405162461bcd60e51b815260040161064a906112d2565b60405180910390fd5b7f808f99cfd15f1be6019f93dc76c81d5bd82e0b3e0b3d23a54f5a2e647a6cc3cc600254826040516106869291906113e7565b60405180910390a1600255565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611243565b90505b90565b60165481565b6000546001600160a01b031633146107465760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff16156107705760405162461bcd60e51b815260040161064a90611330565b6001805460ff60c01b1916600160c01b179055565b6006546001600160a01b03163314806107a857506000546001600160a01b031633145b6107c45760405162461bcd60e51b815260040161064a906112d2565b6001805460ff60c01b19169055565b6000546001600160a01b031633146107fd5760405162461bcd60e51b815260040161064a9061137a565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60055481565b6006546001600160a01b031633148061085757506000546001600160a01b031633145b6108735760405162461bcd60e51b815260040161064a906112d2565b6001805460ff60c81b19169055565b600e5460ff1681565b60105481565b6006546001600160a01b03163314806108b457506000546001600160a01b031633145b6108d05760405162461bcd60e51b815260040161064a906112d2565b6003805460ff19169055565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156106d857600080fd5b6000546001600160a01b0316331461094b5760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff16156109755760405162461bcd60e51b815260040161064a90611330565b6001805460ff60b81b1916600160b81b179055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b031633146109e75760405162461bcd60e51b815260040161064a906112ab565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b815260040161064a9061137a565b7f3ce6ea91adda496b7a0546fa6558e5b52c3a509de6015820efb00ca4020e0a07600b5482604051610aad9291906113e7565b60405180910390a1600b819055610ac261114e565b5050565b6000546001600160a01b03163314610af05760405162461bcd60e51b815260040161064a9061137a565b7f023a40bebf7ac113f81c3d628073246cf9e0bc49980a9d6a9531498ce9e3dd1c600d5482604051610b239291906113e7565b60405180910390a1600d819055610ac261114e565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b1580156106d857600080fd5b6000546001600160a01b03163314610bdb5760405162461bcd60e51b815260040161064a9061137a565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610c2e90859060040161125b565b60206040518083038186803b158015610c4657600080fd5b505afa158015610c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7e9190611243565b92915050565b60125481565b6001546001600160a01b031681565b6000546001600160a01b03163314610cc35760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610ced5760405162461bcd60e51b815260040161064a90611330565b600455565b6000546001600160a01b03163314610d1c5760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610d465760405162461bcd60e51b815260040161064a90611330565b6001805460ff60c81b1916600160c81b179055565b600354610100900460ff1681565b6000546001600160a01b03163314610d935760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610dbd5760405162461bcd60e51b815260040161064a90611330565b6003805460ff19166001179055565b6000546001600160a01b03163314610df65760405162461bcd60e51b815260040161064a9061137a565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610e425760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610e6c5760405162461bcd60e51b815260040161064a90611330565b600555565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b6006546001600160a01b0316331480610ec857506000546001600160a01b031633145b610ee45760405162461bcd60e51b815260040161064a906112d2565b6003805461ff0019169055565b600f5481565b6006546001600160a01b0316331480610f1a57506000546001600160a01b031633145b610f365760405162461bcd60e51b815260040161064a906112d2565b6001805460ff60b81b19169055565b600c5481565b600154600160b81b900460ff1681565b60155481565b6000546001600160a01b03163314610f8b5760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610fb55760405162461bcd60e51b815260040161064a90611330565b6003805461ff001916610100179055565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b6000546001600160a01b0316331461102a5760405162461bcd60e51b815260040161064a9061137a565b7f6b04da3d58e4b37d99652babb3ea2bc25ce94379bfff3059f03d61b26c59e553600c548260405161105d9291906113e7565b60405180910390a1600c819055610ac261114e565b6000546001600160a01b0316331461109c5760405162461bcd60e51b815260040161064a9061137a565b6001600160a01b0381166110c25760405162461bcd60e51b815260040161064a90611309565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610c2e90859060040161125b565b6000670de0b6b3a7640000600d54106111795760405162461bcd60e51b815260040161064a906113c0565b6000600d541161119b5760405162461bcd60e51b815260040161064a9061128e565b670de0b6b3a76400006111bb600c54600b546111d890919063ffffffff16565b106107135760405162461bcd60e51b815260040161064a90611355565b6000828201838110156111fd5760405162461bcd60e51b815260040161064a9061139d565b9392505050565b600060208284031215611215578081fd5b81356001600160a01b03811681146111fd578182fd5b60006020828403121561123c578081fd5b5035919050565b600060208284031215611254578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b602081016003831061128857fe5b91905290565b60208082526003908201526204b3d360ec1b604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526017908201527f4e4f545f53555045525649534f525f4f525f4f574e4552000000000000000000604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b6020808252600b908201526a4645455f524154453e3d3160a81b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252600490820152634b3e3d3160e01b604082015260600190565b90815260200190565b91825260208201526040019056fea2646970667358221220e856033bc330207be0100003cace375d8fad287d256324bddc13e5a37282509e64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103785760003560e01c80637c9b8e89116101d3578063b2094fd311610104578063d689107c116100a2578063ec2fd46d1161007c578063ec2fd46d146105ca578063f2220416146105d2578063f2fde38b146105e5578063f67ed448146105f857610378565b8063d689107c146105b2578063dd58b41c146105ba578063eab5d20e146105c257610378565b8063c5bbffe8116100de578063c5bbffe814610592578063c6b73cf91461059a578063cc062b58146105a2578063d4b97046146105aa57610378565b8063b2094fd31461057a578063bc7d679d14610582578063c0ffa1781461058a57610378565b806397316ad811610171578063a598aca71161014b578063a598aca71461055a578063ab44a7a314610562578063ac1fbc981461056a578063aceecbc81461057257610378565b806397316ad8146105375780639b020fba1461054a578063a3161a561461055257610378565b80638a8c523c116101ad5780638a8c523c1461050c5780638ff5e7421461051457806390cbf8221461051c5780639299eb301461052457610378565b80637c9b8e89146104e95780638456db15146104f1578063892daf05146104f957610378565b80633960f142116102ad57806367de8be91161024b57806373a2ab7c1161022557806373a2ab7c146104b3578063796da7af146104bb5780637adbf973146104c35780637aed942d146104d657610378565b806367de8be91461047857806368be20ad1461048b5780636ec6a58d146104ab57610378565b80634de4527e116102875780634de4527e1461044d5780634e71e0c81461045557806354fd4d501461045d5780635bb7552a1461046557610378565b80633960f142146104355780634322ec831461043d5780634a248d2a1461044557610378565b80631769ddaa1161031a578063245c9685116102f4578063245c968514610415578063247f993b1461041d5780632aa82c651461042557806336ac41a81461042d57610378565b80631769ddaa146103f057806317700f01146103f857806317be952e1461040057610378565b80631184d8be116103565780631184d8be146103b857806313c57624146103c057806313ea5d29146103c857806316048bc4146103db57610378565b8063092316021461037d5780630cd1667d146103925780630e6518e9146103b0575b600080fd5b61039061038b36600461122b565b61060b565b005b61039a610693565b6040516103a791906113de565b60405180910390f35b61039a610716565b61039061071c565b610390610785565b6103906103d6366004611204565b6107d3565b6103e361081f565b6040516103a7919061125b565b61039a61082e565b610390610834565b610408610882565b6040516103a7919061127a565b61039a61088b565b610390610891565b61039a6108dc565b610390610921565b6103e361098a565b6103e3610999565b6103e36109a8565b61039a6109b7565b6103906109bd565b61039a610a4b565b61039061047336600461122b565b610a50565b61039061048636600461122b565b610ac6565b61049e610499366004611204565b610b38565b6040516103a7919061126f565b61049e610b4d565b6103e3610b5d565b61039a610b6c565b6103906104d1366004611204565b610bb1565b61039a6104e4366004611204565b610bfd565b61039a610c84565b6103e3610c8a565b61039061050736600461122b565b610c99565b610390610cf2565b61049e610d5b565b610390610d69565b610390610532366004611204565b610dcc565b61039061054536600461122b565b610e18565b61039a610e71565b61049e610e77565b61049e610e80565b61039a610e90565b6103e3610e96565b610390610ea5565b61039a610ef1565b610390610ef7565b61039a610f45565b61049e610f4b565b61039a610f5b565b610390610f61565b6103e3610fc6565b6103e3610fd5565b61049e610fe4565b61039a610ff4565b61039a610ffa565b6103906105e036600461122b565b611000565b6103906105f3366004611204565b611072565b61039a610606366004611204565b61111d565b6006546001600160a01b031633148061062e57506000546001600160a01b031633145b6106535760405162461bcd60e51b815260040161064a906112d2565b60405180910390fd5b7f808f99cfd15f1be6019f93dc76c81d5bd82e0b3e0b3d23a54f5a2e647a6cc3cc600254826040516106869291906113e7565b60405180910390a1600255565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611243565b90505b90565b60165481565b6000546001600160a01b031633146107465760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff16156107705760405162461bcd60e51b815260040161064a90611330565b6001805460ff60c01b1916600160c01b179055565b6006546001600160a01b03163314806107a857506000546001600160a01b031633145b6107c45760405162461bcd60e51b815260040161064a906112d2565b6001805460ff60c01b19169055565b6000546001600160a01b031633146107fd5760405162461bcd60e51b815260040161064a9061137a565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60055481565b6006546001600160a01b031633148061085757506000546001600160a01b031633145b6108735760405162461bcd60e51b815260040161064a906112d2565b6001805460ff60c81b19169055565b600e5460ff1681565b60105481565b6006546001600160a01b03163314806108b457506000546001600160a01b031633145b6108d05760405162461bcd60e51b815260040161064a906112d2565b6003805460ff19169055565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156106d857600080fd5b6000546001600160a01b0316331461094b5760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff16156109755760405162461bcd60e51b815260040161064a90611330565b6001805460ff60b81b1916600160b81b179055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b031633146109e75760405162461bcd60e51b815260040161064a906112ab565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b815260040161064a9061137a565b7f3ce6ea91adda496b7a0546fa6558e5b52c3a509de6015820efb00ca4020e0a07600b5482604051610aad9291906113e7565b60405180910390a1600b819055610ac261114e565b5050565b6000546001600160a01b03163314610af05760405162461bcd60e51b815260040161064a9061137a565b7f023a40bebf7ac113f81c3d628073246cf9e0bc49980a9d6a9531498ce9e3dd1c600d5482604051610b239291906113e7565b60405180910390a1600d819055610ac261114e565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b1580156106d857600080fd5b6000546001600160a01b03163314610bdb5760405162461bcd60e51b815260040161064a9061137a565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610c2e90859060040161125b565b60206040518083038186803b158015610c4657600080fd5b505afa158015610c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7e9190611243565b92915050565b60125481565b6001546001600160a01b031681565b6000546001600160a01b03163314610cc35760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610ced5760405162461bcd60e51b815260040161064a90611330565b600455565b6000546001600160a01b03163314610d1c5760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610d465760405162461bcd60e51b815260040161064a90611330565b6001805460ff60c81b1916600160c81b179055565b600354610100900460ff1681565b6000546001600160a01b03163314610d935760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610dbd5760405162461bcd60e51b815260040161064a90611330565b6003805460ff19166001179055565b6000546001600160a01b03163314610df65760405162461bcd60e51b815260040161064a9061137a565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610e425760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610e6c5760405162461bcd60e51b815260040161064a90611330565b600555565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b6006546001600160a01b0316331480610ec857506000546001600160a01b031633145b610ee45760405162461bcd60e51b815260040161064a906112d2565b6003805461ff0019169055565b600f5481565b6006546001600160a01b0316331480610f1a57506000546001600160a01b031633145b610f365760405162461bcd60e51b815260040161064a906112d2565b6001805460ff60b81b19169055565b600c5481565b600154600160b81b900460ff1681565b60155481565b6000546001600160a01b03163314610f8b5760405162461bcd60e51b815260040161064a9061137a565b600154600160b01b900460ff1615610fb55760405162461bcd60e51b815260040161064a90611330565b6003805461ff001916610100179055565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b6000546001600160a01b0316331461102a5760405162461bcd60e51b815260040161064a9061137a565b7f6b04da3d58e4b37d99652babb3ea2bc25ce94379bfff3059f03d61b26c59e553600c548260405161105d9291906113e7565b60405180910390a1600c819055610ac261114e565b6000546001600160a01b0316331461109c5760405162461bcd60e51b815260040161064a9061137a565b6001600160a01b0381166110c25760405162461bcd60e51b815260040161064a90611309565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610c2e90859060040161125b565b6000670de0b6b3a7640000600d54106111795760405162461bcd60e51b815260040161064a906113c0565b6000600d541161119b5760405162461bcd60e51b815260040161064a9061128e565b670de0b6b3a76400006111bb600c54600b546111d890919063ffffffff16565b106107135760405162461bcd60e51b815260040161064a90611355565b6000828201838110156111fd5760405162461bcd60e51b815260040161064a9061139d565b9392505050565b600060208284031215611215578081fd5b81356001600160a01b03811681146111fd578182fd5b60006020828403121561123c578081fd5b5035919050565b600060208284031215611254578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b602081016003831061128857fe5b91905290565b60208082526003908201526204b3d360ec1b604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526017908201527f4e4f545f53555045525649534f525f4f525f4f574e4552000000000000000000604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b6020808252600b908201526a4645455f524154453e3d3160a81b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252600490820152634b3e3d3160e01b604082015260600190565b90815260200190565b91825260208201526040019056fea2646970667358221220e856033bc330207be0100003cace375d8fad287d256324bddc13e5a37282509e64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "270:3200:22:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "270:3200:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:207;;;;;;;;;:::i;:::-;;2949:133:27;;;:::i;:::-;;;;;;;;;;;;;;;;2006:43;;;:::i;2587:104:22:-;;;:::i;2473:108::-;;;:::i;985:110::-;;;;;;;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;2043:97:22:-;;;:::i;1604:31:27:-;;;:::i;:::-;;;;;;;;1688:42;;;:::i;2758:97:22:-;;;:::i;3243:135:27:-;;;:::i;2361:106:22:-;;;:::i;1202:27:27:-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;3433:87:27:-;;;:::i;1101:274:22:-;;;;;;;;;:::i;1626:139::-;;;;;;;;;:::i;2055:41:27:-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;769:94:22:-;;;;;;;;;:::i;2796:147:27:-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;3166:146:22:-;;;;;;;;;:::i;2146:93::-;;;:::i;1036:29:27:-;;;:::i;2861:93:22:-;;;:::i;869:110::-;;;;;;;;;:::i;3318:150::-;;;;;;;;;:::i;1071:35:27:-;;;:::i;1002:28::-;;;:::i;839:34::-;;;:::i;1511:28::-;;;:::i;1849:36::-;;;:::i;2960:99:22:-;;;:::i;1641:41:27:-;;;:::i;2245:110:22:-;;;:::i;1545:28:27:-;;;:::i;798:35::-;;;:::i;1957:43::-;;;:::i;3065:95:22:-;;;:::i;1385:28:27:-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;1736:29::-;;;:::i;1579:18::-;;;:::i;1381:239:22:-;;;;;;;;;:::i;737:220:37:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;1771:207:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;;;;;;;;;1869:56:22::1;1889:17;;1908:16;1869:56;;;;;;;;;;;;;;;;1935:17;:36:::0;1771:207::o;2949:133:27:-;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;;:::o;2006:43::-;;;;:::o;2587:104:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2680:4:22::2;2655:29:::0;;-1:-1:-1;;;;2655:29:22::2;-1:-1:-1::0;;;2655:29:22::2;::::0;;2587:104::o;2473:108::-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2544:22:22::1;:30:::0;;-1:-1:-1;;;;2544:30:22::1;::::0;;2473:108::o;985:110::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1060:12:22::1;:28:::0;;-1:-1:-1;;;;;;1060:28:22::1;-1:-1:-1::0;;;;;1060:28:22;;;::::1;::::0;;;::::1;::::0;;985:110::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;2043:97:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2110:15:22::1;:23:::0;;-1:-1:-1;;;;2110:23:22::1;::::0;;2043:97::o;1604:31:27:-;;;;;;:::o;1688:42::-;;;;:::o;2758:97:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2824:16:22::1;:24:::0;;-1:-1:-1;;2824:24:22::1;::::0;;2758:97::o;3243:135:27:-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;2361:106:22;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2456:4:22::2;2430:30:::0;;-1:-1:-1;;;;2430:30:22::2;-1:-1:-1::0;;;2430:30:22::2;::::0;;2361:106::o;1202:27:27:-;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;1101:274:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1209:74:22::1;1240:13;;1255:27;1209:74;;;;;;;;;;;;;;;;1293:13;:43:::0;;;1346:22:::1;:20;:22::i;:::-;;1101:274:::0;:::o;1626:139::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1688:18:22::1;1696:3;;1701:4;1688:18;;;;;;;;;;;;;;;;1716:3;:10:::0;;;1736:22:::1;:20;:22::i;2055:41:27:-:0;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;769:94:22;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;836:8:22::1;:20:::0;;-1:-1:-1;;;;;;836:20:22::1;-1:-1:-1::0;;;;;836:20:22;;;::::1;::::0;;;::::1;::::0;;769:94::o;2796:147:27:-;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2881:55;2796:147;-1:-1:-1;;2796:147:27:o;1771:30::-;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;3166:146:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3263:20:22::2;:42:::0;3166:146::o;2146:93::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2228:4:22::2;2210:22:::0;;-1:-1:-1;;;;2210:22:22::2;-1:-1:-1::0;;;2210:22:22::2;::::0;;2146:93::o;1036:29:27:-;;;;;;;;;:::o;2861:93:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2924:16:22::2;:23:::0;;-1:-1:-1;;2924:23:22::2;2943:4;2924:23;::::0;;2861:93::o;869:110::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;944:12:22::1;:28:::0;;-1:-1:-1;;;;;;944:28:22::1;-1:-1:-1::0;;;;;944:28:22;;;::::1;::::0;;;::::1;::::0;;869:110::o;3318:150::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3417:21:22::2;:44:::0;3318:150::o;1071:35:27:-;;;;:::o;1002:28::-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;1511:28::-;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;2960:99:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;3027:17:22::1;:25:::0;;-1:-1:-1;;3027:25:22::1;::::0;;2960:99::o;1641:41:27:-;;;;:::o;2245:110:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2317:23:22::1;:31:::0;;-1:-1:-1;;;;2317:31:22::1;::::0;;2245:110::o;1545:28:27:-;;;;:::o;798:35::-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;3065:95:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3129:17:22::2;:24:::0;;-1:-1:-1;;3129:24:22::2;;;::::0;;3065:95::o;1385:28:27:-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;1736:29::-;;;;:::o;1579:18::-;;;;:::o;1381:239:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1475:60:22::1;1499:13;;1514:20;1475:60;;;;;;;;;;;;;;;;1545:13;:36:::0;;;1591:22:::1;:20;:22::i;737:220:37:-:0;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;2440:236;2495:7;379:6:36;2522:3:27;;:21;2514:38;;;;-1:-1:-1;;;2514:38:27;;;;;;;;;2576:1;2570:3;;:7;2562:23;;;;-1:-1:-1;;;2562:23:27;;;;;;;;;379:6:36;2603:32:27;2621:13;;2603;;:17;;:32;;;;:::i;:::-;:50;2595:74;;;;-1:-1:-1;;;2595:74:27;;;;;;;;1074:157:41;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;420:241:-1:-;;524:2;512:9;503:7;499:23;495:32;492:2;;;-1:-1;;530:12;492:2;72:20;;-1:-1;;;;;10201:54;;10655:35;;10645:2;;-1:-1;;10694:12;668:241;;772:2;760:9;751:7;747:23;743:32;740:2;;;-1:-1;;778:12;740:2;-1:-1;209:20;;734:175;-1:-1;734:175;916:263;;1031:2;1019:9;1010:7;1006:23;1002:32;999:2;;;-1:-1;;1037:12;999:2;-1:-1;357:13;;993:186;-1:-1;993:186;4565:222;-1:-1;;;;;10201:54;;;;1257:37;;4692:2;4677:18;;4663:124;4794:210;9974:13;;9967:21;1371:34;;4915:2;4900:18;;4886:118;5011:244;5149:2;5134:18;;10567:1;10557:12;;10547:2;;10573:9;10547:2;1499:61;;;5120:135;;5262:416;5462:2;5476:47;;;1797:1;5447:18;;;9742:19;-1:-1;;;9782:14;;;1812:26;1857:12;;;5433:245;5685:416;5885:2;5899:47;;;2108:2;5870:18;;;9742:19;-1:-1;;;9782:14;;;2124:36;2179:12;;;5856:245;6108:416;6308:2;6322:47;;;2430:2;6293:18;;;9742:19;2466:25;9782:14;;;2446:46;2511:12;;;6279:245;6531:416;6731:2;6745:47;;;2762:2;6716:18;;;9742:19;-1:-1;;;9782:14;;;2778:36;2833:12;;;6702:245;6954:416;7154:2;7168:47;;;3084:2;7139:18;;;9742:19;-1:-1;;;9782:14;;;3100:34;3153:12;;;7125:245;7377:416;7577:2;7591:47;;;3404:2;7562:18;;;9742:19;-1:-1;;;9782:14;;;3420:34;3473:12;;;7548:245;7800:416;8000:2;8014:47;;;3724:1;7985:18;;;9742:19;-1:-1;;;9782:14;;;3739:32;3790:12;;;7971:245;8223:416;8423:2;8437:47;;;4041:1;8408:18;;;9742:19;-1:-1;;;9782:14;;;4056:32;4107:12;;;8394:245;8646:416;8846:2;8860:47;;;4358:1;8831:18;;;9742:19;-1:-1;;;9782:14;;;4373:27;4419:12;;;8817:245;9069:222;4516:37;;;9196:2;9181:18;;9167:124;9298:333;4516:37;;;9617:2;9602:18;;4516:37;9453:2;9438:18;;9424:207", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Storage} from \"./Storage.sol\";\n\n\n/**\n * @title Admin\n * @author DODO Breeder\n *\n * @notice Functions for admin operations\n */\ncontract Admin is Storage {\n // ============ Events ============\n\n event UpdateGasPriceLimit(uint256 oldGasPriceLimit, uint256 newGasPriceLimit);\n\n event UpdateLiquidityProviderFeeRate(\n uint256 oldLiquidityProviderFeeRate,\n uint256 newLiquidityProviderFeeRate\n );\n\n event UpdateMaintainerFeeRate(uint256 oldMaintainerFeeRate, uint256 newMaintainerFeeRate);\n\n event UpdateK(uint256 oldK, uint256 newK);\n\n // ============ Params Setting Functions ============\n\n function setOracle(address newOracle) external onlyOwner {\n _ORACLE_ = newOracle;\n }\n\n function setSupervisor(address newSupervisor) external onlyOwner {\n _SUPERVISOR_ = newSupervisor;\n }\n\n function setMaintainer(address newMaintainer) external onlyOwner {\n _MAINTAINER_ = newMaintainer;\n }\n\n function setLiquidityProviderFeeRate(uint256 newLiquidityPorviderFeeRate) external onlyOwner {\n emit UpdateLiquidityProviderFeeRate(_LP_FEE_RATE_, newLiquidityPorviderFeeRate);\n _LP_FEE_RATE_ = newLiquidityPorviderFeeRate;\n _checkDODOParameters();\n }\n\n function setMaintainerFeeRate(uint256 newMaintainerFeeRate) external onlyOwner {\n emit UpdateMaintainerFeeRate(_MT_FEE_RATE_, newMaintainerFeeRate);\n _MT_FEE_RATE_ = newMaintainerFeeRate;\n _checkDODOParameters();\n }\n\n function setK(uint256 newK) external onlyOwner {\n emit UpdateK(_K_, newK);\n _K_ = newK;\n _checkDODOParameters();\n }\n\n function setGasPriceLimit(uint256 newGasPriceLimit) external onlySupervisorOrOwner {\n emit UpdateGasPriceLimit(_GAS_PRICE_LIMIT_, newGasPriceLimit);\n _GAS_PRICE_LIMIT_ = newGasPriceLimit;\n }\n\n // ============ System Control Functions ============\n\n function disableTrading() external onlySupervisorOrOwner {\n _TRADE_ALLOWED_ = false;\n }\n\n function enableTrading() external onlyOwner notClosed {\n _TRADE_ALLOWED_ = true;\n }\n\n function disableQuoteDeposit() external onlySupervisorOrOwner {\n _DEPOSIT_QUOTE_ALLOWED_ = false;\n }\n\n function enableQuoteDeposit() external onlyOwner notClosed {\n _DEPOSIT_QUOTE_ALLOWED_ = true;\n }\n\n function disableBaseDeposit() external onlySupervisorOrOwner {\n _DEPOSIT_BASE_ALLOWED_ = false;\n }\n\n function enableBaseDeposit() external onlyOwner notClosed {\n _DEPOSIT_BASE_ALLOWED_ = true;\n }\n\n // ============ Advanced Control Functions ============\n\n function disableBuying() external onlySupervisorOrOwner {\n _BUYING_ALLOWED_ = false;\n }\n\n function enableBuying() external onlyOwner notClosed {\n _BUYING_ALLOWED_ = true;\n }\n\n function disableSelling() external onlySupervisorOrOwner {\n _SELLING_ALLOWED_ = false;\n }\n\n function enableSelling() external onlyOwner notClosed {\n _SELLING_ALLOWED_ = true;\n }\n\n function setBaseBalanceLimit(uint256 newBaseBalanceLimit) external onlyOwner notClosed {\n _BASE_BALANCE_LIMIT_ = newBaseBalanceLimit;\n }\n\n function setQuoteBalanceLimit(uint256 newQuoteBalanceLimit) external onlyOwner notClosed {\n _QUOTE_BALANCE_LIMIT_ = newQuoteBalanceLimit;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol", - "exportedSymbols": { - "Admin": [ - 6963 - ] - }, - "id": 6964, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6681, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:22" - }, - { - "id": 6682, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:22" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 6684, - "nodeType": "ImportDirective", - "scope": 6964, - "sourceUnit": 9614, - "src": "136:38:22", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6683, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6686, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "288:7:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 6687, - "nodeType": "InheritanceSpecifier", - "src": "288:7:22" - } - ], - "contractDependencies": [ - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 6685, - "nodeType": "StructuredDocumentation", - "src": "177:92:22", - "text": " @title Admin\n @author DODO Breeder\n @notice Functions for admin operations" - }, - "fullyImplemented": true, - "id": 6963, - "linearizedBaseContracts": [ - 6963, - 9613, - 11296, - 11166 - ], - "name": "Admin", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 6693, - "name": "UpdateGasPriceLimit", - "nodeType": "EventDefinition", - "parameters": { - "id": 6692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6689, - "indexed": false, - "mutability": "mutable", - "name": "oldGasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6693, - "src": "369:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "369:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6691, - "indexed": false, - "mutability": "mutable", - "name": "newGasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6693, - "src": "395:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "395:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "368:52:22" - }, - "src": "343:78:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 6699, - "name": "UpdateLiquidityProviderFeeRate", - "nodeType": "EventDefinition", - "parameters": { - "id": 6698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6695, - "indexed": false, - "mutability": "mutable", - "name": "oldLiquidityProviderFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6699, - "src": "473:35:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "473:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6697, - "indexed": false, - "mutability": "mutable", - "name": "newLiquidityProviderFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6699, - "src": "518:35:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "518:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "463:96:22" - }, - "src": "427:133:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 6705, - "name": "UpdateMaintainerFeeRate", - "nodeType": "EventDefinition", - "parameters": { - "id": 6704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6701, - "indexed": false, - "mutability": "mutable", - "name": "oldMaintainerFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6705, - "src": "596:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6703, - "indexed": false, - "mutability": "mutable", - "name": "newMaintainerFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6705, - "src": "626:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "626:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "595:60:22" - }, - "src": "566:90:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 6711, - "name": "UpdateK", - "nodeType": "EventDefinition", - "parameters": { - "id": 6710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6707, - "indexed": false, - "mutability": "mutable", - "name": "oldK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6711, - "src": "676:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6709, - "indexed": false, - "mutability": "mutable", - "name": "newK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6711, - "src": "690:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "675:28:22" - }, - "src": "662:42:22" - }, - { - "body": { - "id": 6722, - "nodeType": "Block", - "src": "826:37:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6718, - "name": "_ORACLE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9451, - "src": "836:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6719, - "name": "newOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6713, - "src": "847:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "836:20:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6721, - "nodeType": "ExpressionStatement", - "src": "836:20:22" - } - ] - }, - "documentation": null, - "functionSelector": "7adbf973", - "id": 6723, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6716, - "modifierName": { - "argumentTypes": null, - "id": 6715, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "816:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "816:9:22" - } - ], - "name": "setOracle", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6713, - "mutability": "mutable", - "name": "newOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6723, - "src": "788:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "788:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:19:22" - }, - "returnParameters": { - "id": 6717, - "nodeType": "ParameterList", - "parameters": [], - "src": "826:0:22" - }, - "scope": 6963, - "src": "769:94:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6734, - "nodeType": "Block", - "src": "934:45:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6730, - "name": "_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "944:12:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6731, - "name": "newSupervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "959:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "944:28:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6733, - "nodeType": "ExpressionStatement", - "src": "944:28:22" - } - ] - }, - "documentation": null, - "functionSelector": "9299eb30", - "id": 6735, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6728, - "modifierName": { - "argumentTypes": null, - "id": 6727, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "924:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "924:9:22" - } - ], - "name": "setSupervisor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6725, - "mutability": "mutable", - "name": "newSupervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6735, - "src": "892:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "892:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "891:23:22" - }, - "returnParameters": { - "id": 6729, - "nodeType": "ParameterList", - "parameters": [], - "src": "934:0:22" - }, - "scope": 6963, - "src": "869:110:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6746, - "nodeType": "Block", - "src": "1050:45:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6742, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "1060:12:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6743, - "name": "newMaintainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "1075:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1060:28:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6745, - "nodeType": "ExpressionStatement", - "src": "1060:28:22" - } - ] - }, - "documentation": null, - "functionSelector": "13ea5d29", - "id": 6747, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6740, - "modifierName": { - "argumentTypes": null, - "id": 6739, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1040:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1040:9:22" - } - ], - "name": "setMaintainer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6737, - "mutability": "mutable", - "name": "newMaintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6747, - "src": "1008:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1008:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1007:23:22" - }, - "returnParameters": { - "id": 6741, - "nodeType": "ParameterList", - "parameters": [], - "src": "1050:0:22" - }, - "scope": 6963, - "src": "985:110:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6766, - "nodeType": "Block", - "src": "1194:181:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6755, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "1240:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6756, - "name": "newLiquidityPorviderFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6749, - "src": "1255:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6754, - "name": "UpdateLiquidityProviderFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6699, - "src": "1209:30:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1209:74:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6758, - "nodeType": "EmitStatement", - "src": "1204:79:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6759, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "1293:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6760, - "name": "newLiquidityPorviderFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6749, - "src": "1309:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1293:43:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6762, - "nodeType": "ExpressionStatement", - "src": "1293:43:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6763, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1346:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1346:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6765, - "nodeType": "ExpressionStatement", - "src": "1346:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "5bb7552a", - "id": 6767, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6752, - "modifierName": { - "argumentTypes": null, - "id": 6751, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1184:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1184:9:22" - } - ], - "name": "setLiquidityProviderFeeRate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6749, - "mutability": "mutable", - "name": "newLiquidityPorviderFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6767, - "src": "1138:35:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1138:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1137:37:22" - }, - "returnParameters": { - "id": 6753, - "nodeType": "ParameterList", - "parameters": [], - "src": "1194:0:22" - }, - "scope": 6963, - "src": "1101:274:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6786, - "nodeType": "Block", - "src": "1460:160:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6775, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "1499:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6776, - "name": "newMaintainerFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "1514:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6774, - "name": "UpdateMaintainerFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6705, - "src": "1475:23:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1475:60:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6778, - "nodeType": "EmitStatement", - "src": "1470:65:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6779, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "1545:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6780, - "name": "newMaintainerFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "1561:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1545:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6782, - "nodeType": "ExpressionStatement", - "src": "1545:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6783, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1591:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1591:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6785, - "nodeType": "ExpressionStatement", - "src": "1591:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "f2220416", - "id": 6787, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6772, - "modifierName": { - "argumentTypes": null, - "id": 6771, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1450:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1450:9:22" - } - ], - "name": "setMaintainerFeeRate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6769, - "mutability": "mutable", - "name": "newMaintainerFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6787, - "src": "1411:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1411:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1410:30:22" - }, - "returnParameters": { - "id": 6773, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:22" - }, - "scope": 6963, - "src": "1381:239:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6806, - "nodeType": "Block", - "src": "1673:92:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6795, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "1696:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6796, - "name": "newK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "1701:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6794, - "name": "UpdateK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6711, - "src": "1688:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:18:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6798, - "nodeType": "EmitStatement", - "src": "1683:23:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6799, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "1716:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6800, - "name": "newK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "1722:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1716:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6802, - "nodeType": "ExpressionStatement", - "src": "1716:10:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6803, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1736:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1736:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6805, - "nodeType": "ExpressionStatement", - "src": "1736:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "67de8be9", - "id": 6807, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6792, - "modifierName": { - "argumentTypes": null, - "id": 6791, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1663:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1663:9:22" - } - ], - "name": "setK", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6789, - "mutability": "mutable", - "name": "newK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6807, - "src": "1640:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1640:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1639:14:22" - }, - "returnParameters": { - "id": 6793, - "nodeType": "ParameterList", - "parameters": [], - "src": "1673:0:22" - }, - "scope": 6963, - "src": "1626:139:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6823, - "nodeType": "Block", - "src": "1854:124:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6815, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1889:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6816, - "name": "newGasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6809, - "src": "1908:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6814, - "name": "UpdateGasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6693, - "src": "1869:19:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1869:56:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6818, - "nodeType": "EmitStatement", - "src": "1864:61:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6819, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1935:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6820, - "name": "newGasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6809, - "src": "1955:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1935:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6822, - "nodeType": "ExpressionStatement", - "src": "1935:36:22" - } - ] - }, - "documentation": null, - "functionSelector": "09231602", - "id": 6824, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6812, - "modifierName": { - "argumentTypes": null, - "id": 6811, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "1832:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1832:21:22" - } - ], - "name": "setGasPriceLimit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6809, - "mutability": "mutable", - "name": "newGasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6824, - "src": "1797:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1797:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1796:26:22" - }, - "returnParameters": { - "id": 6813, - "nodeType": "ParameterList", - "parameters": [], - "src": "1854:0:22" - }, - "scope": 6963, - "src": "1771:207:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6833, - "nodeType": "Block", - "src": "2100:40:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6829, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "2110:15:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2110:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6832, - "nodeType": "ExpressionStatement", - "src": "2110:23:22" - } - ] - }, - "documentation": null, - "functionSelector": "17700f01", - "id": 6834, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6827, - "modifierName": { - "argumentTypes": null, - "id": 6826, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2078:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2078:21:22" - } - ], - "name": "disableTrading", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6825, - "nodeType": "ParameterList", - "parameters": [], - "src": "2066:2:22" - }, - "returnParameters": { - "id": 6828, - "nodeType": "ParameterList", - "parameters": [], - "src": "2100:0:22" - }, - "scope": 6963, - "src": "2043:97:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6845, - "nodeType": "Block", - "src": "2200:39:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6841, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "2210:15:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2228:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2210:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6844, - "nodeType": "ExpressionStatement", - "src": "2210:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "8a8c523c", - "id": 6846, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6837, - "modifierName": { - "argumentTypes": null, - "id": 6836, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2180:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2180:9:22" - }, - { - "arguments": null, - "id": 6839, - "modifierName": { - "argumentTypes": null, - "id": 6838, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2190:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2190:9:22" - } - ], - "name": "enableTrading", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6835, - "nodeType": "ParameterList", - "parameters": [], - "src": "2168:2:22" - }, - "returnParameters": { - "id": 6840, - "nodeType": "ParameterList", - "parameters": [], - "src": "2200:0:22" - }, - "scope": 6963, - "src": "2146:93:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6855, - "nodeType": "Block", - "src": "2307:48:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6851, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "2317:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2343:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2317:31:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6854, - "nodeType": "ExpressionStatement", - "src": "2317:31:22" - } - ] - }, - "documentation": null, - "functionSelector": "bc7d679d", - "id": 6856, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6849, - "modifierName": { - "argumentTypes": null, - "id": 6848, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2285:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2285:21:22" - } - ], - "name": "disableQuoteDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6847, - "nodeType": "ParameterList", - "parameters": [], - "src": "2273:2:22" - }, - "returnParameters": { - "id": 6850, - "nodeType": "ParameterList", - "parameters": [], - "src": "2307:0:22" - }, - "scope": 6963, - "src": "2245:110:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6867, - "nodeType": "Block", - "src": "2420:47:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6863, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "2430:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2456:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2430:30:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6866, - "nodeType": "ExpressionStatement", - "src": "2430:30:22" - } - ] - }, - "documentation": null, - "functionSelector": "36ac41a8", - "id": 6868, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6859, - "modifierName": { - "argumentTypes": null, - "id": 6858, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2400:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2400:9:22" - }, - { - "arguments": null, - "id": 6861, - "modifierName": { - "argumentTypes": null, - "id": 6860, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2410:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2410:9:22" - } - ], - "name": "enableQuoteDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6857, - "nodeType": "ParameterList", - "parameters": [], - "src": "2388:2:22" - }, - "returnParameters": { - "id": 6862, - "nodeType": "ParameterList", - "parameters": [], - "src": "2420:0:22" - }, - "scope": 6963, - "src": "2361:106:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6877, - "nodeType": "Block", - "src": "2534:47:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6873, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "2544:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2569:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2544:30:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6876, - "nodeType": "ExpressionStatement", - "src": "2544:30:22" - } - ] - }, - "documentation": null, - "functionSelector": "13c57624", - "id": 6878, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6871, - "modifierName": { - "argumentTypes": null, - "id": 6870, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2512:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2512:21:22" - } - ], - "name": "disableBaseDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6869, - "nodeType": "ParameterList", - "parameters": [], - "src": "2500:2:22" - }, - "returnParameters": { - "id": 6872, - "nodeType": "ParameterList", - "parameters": [], - "src": "2534:0:22" - }, - "scope": 6963, - "src": "2473:108:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6889, - "nodeType": "Block", - "src": "2645:46:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6885, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "2655:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2680:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2655:29:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6888, - "nodeType": "ExpressionStatement", - "src": "2655:29:22" - } - ] - }, - "documentation": null, - "functionSelector": "1184d8be", - "id": 6890, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6881, - "modifierName": { - "argumentTypes": null, - "id": 6880, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2625:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2625:9:22" - }, - { - "arguments": null, - "id": 6883, - "modifierName": { - "argumentTypes": null, - "id": 6882, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2635:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2635:9:22" - } - ], - "name": "enableBaseDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6879, - "nodeType": "ParameterList", - "parameters": [], - "src": "2613:2:22" - }, - "returnParameters": { - "id": 6884, - "nodeType": "ParameterList", - "parameters": [], - "src": "2645:0:22" - }, - "scope": 6963, - "src": "2587:104:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6899, - "nodeType": "Block", - "src": "2814:41:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6895, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "2824:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2824:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6898, - "nodeType": "ExpressionStatement", - "src": "2824:24:22" - } - ] - }, - "documentation": null, - "functionSelector": "247f993b", - "id": 6900, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6893, - "modifierName": { - "argumentTypes": null, - "id": 6892, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2792:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2792:21:22" - } - ], - "name": "disableBuying", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6891, - "nodeType": "ParameterList", - "parameters": [], - "src": "2780:2:22" - }, - "returnParameters": { - "id": 6894, - "nodeType": "ParameterList", - "parameters": [], - "src": "2814:0:22" - }, - "scope": 6963, - "src": "2758:97:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6911, - "nodeType": "Block", - "src": "2914:40:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6907, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "2924:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2943:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2924:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6910, - "nodeType": "ExpressionStatement", - "src": "2924:23:22" - } - ] - }, - "documentation": null, - "functionSelector": "90cbf822", - "id": 6912, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6903, - "modifierName": { - "argumentTypes": null, - "id": 6902, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2894:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2894:9:22" - }, - { - "arguments": null, - "id": 6905, - "modifierName": { - "argumentTypes": null, - "id": 6904, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2904:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2904:9:22" - } - ], - "name": "enableBuying", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6901, - "nodeType": "ParameterList", - "parameters": [], - "src": "2882:2:22" - }, - "returnParameters": { - "id": 6906, - "nodeType": "ParameterList", - "parameters": [], - "src": "2914:0:22" - }, - "scope": 6963, - "src": "2861:93:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6921, - "nodeType": "Block", - "src": "3017:42:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6917, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "3027:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3047:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3027:25:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6920, - "nodeType": "ExpressionStatement", - "src": "3027:25:22" - } - ] - }, - "documentation": null, - "functionSelector": "aceecbc8", - "id": 6922, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6915, - "modifierName": { - "argumentTypes": null, - "id": 6914, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2995:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2995:21:22" - } - ], - "name": "disableSelling", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6913, - "nodeType": "ParameterList", - "parameters": [], - "src": "2983:2:22" - }, - "returnParameters": { - "id": 6916, - "nodeType": "ParameterList", - "parameters": [], - "src": "3017:0:22" - }, - "scope": 6963, - "src": "2960:99:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6933, - "nodeType": "Block", - "src": "3119:41:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6929, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "3129:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3149:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3129:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6932, - "nodeType": "ExpressionStatement", - "src": "3129:24:22" - } - ] - }, - "documentation": null, - "functionSelector": "cc062b58", - "id": 6934, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6925, - "modifierName": { - "argumentTypes": null, - "id": 6924, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "3099:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3099:9:22" - }, - { - "arguments": null, - "id": 6927, - "modifierName": { - "argumentTypes": null, - "id": 6926, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "3109:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3109:9:22" - } - ], - "name": "enableSelling", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6923, - "nodeType": "ParameterList", - "parameters": [], - "src": "3087:2:22" - }, - "returnParameters": { - "id": 6928, - "nodeType": "ParameterList", - "parameters": [], - "src": "3119:0:22" - }, - "scope": 6963, - "src": "3065:95:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6947, - "nodeType": "Block", - "src": "3253:59:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6943, - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9439, - "src": "3263:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6944, - "name": "newBaseBalanceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6936, - "src": "3286:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3263:42:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6946, - "nodeType": "ExpressionStatement", - "src": "3263:42:22" - } - ] - }, - "documentation": null, - "functionSelector": "892daf05", - "id": 6948, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6939, - "modifierName": { - "argumentTypes": null, - "id": 6938, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "3233:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3233:9:22" - }, - { - "arguments": null, - "id": 6941, - "modifierName": { - "argumentTypes": null, - "id": 6940, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "3243:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3243:9:22" - } - ], - "name": "setBaseBalanceLimit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6937, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6936, - "mutability": "mutable", - "name": "newBaseBalanceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6948, - "src": "3195:27:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3195:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3194:29:22" - }, - "returnParameters": { - "id": 6942, - "nodeType": "ParameterList", - "parameters": [], - "src": "3253:0:22" - }, - "scope": 6963, - "src": "3166:146:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6961, - "nodeType": "Block", - "src": "3407:61:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6957, - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "3417:21:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6958, - "name": "newQuoteBalanceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6950, - "src": "3441:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3417:44:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6960, - "nodeType": "ExpressionStatement", - "src": "3417:44:22" - } - ] - }, - "documentation": null, - "functionSelector": "97316ad8", - "id": 6962, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6953, - "modifierName": { - "argumentTypes": null, - "id": 6952, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "3387:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3387:9:22" - }, - { - "arguments": null, - "id": 6955, - "modifierName": { - "argumentTypes": null, - "id": 6954, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "3397:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3397:9:22" - } - ], - "name": "setQuoteBalanceLimit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6950, - "mutability": "mutable", - "name": "newQuoteBalanceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6962, - "src": "3348:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3348:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3347:30:22" - }, - "returnParameters": { - "id": 6956, - "nodeType": "ParameterList", - "parameters": [], - "src": "3407:0:22" - }, - "scope": 6963, - "src": "3318:150:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6964, - "src": "270:3200:22" - } - ], - "src": "78:3393:22" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol", - "exportedSymbols": { - "Admin": [ - 6963 - ] - }, - "id": 6964, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6681, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:22" - }, - { - "id": 6682, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:22" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 6684, - "nodeType": "ImportDirective", - "scope": 6964, - "sourceUnit": 9614, - "src": "136:38:22", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6683, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6686, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "288:7:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 6687, - "nodeType": "InheritanceSpecifier", - "src": "288:7:22" - } - ], - "contractDependencies": [ - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 6685, - "nodeType": "StructuredDocumentation", - "src": "177:92:22", - "text": " @title Admin\n @author DODO Breeder\n @notice Functions for admin operations" - }, - "fullyImplemented": true, - "id": 6963, - "linearizedBaseContracts": [ - 6963, - 9613, - 11296, - 11166 - ], - "name": "Admin", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 6693, - "name": "UpdateGasPriceLimit", - "nodeType": "EventDefinition", - "parameters": { - "id": 6692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6689, - "indexed": false, - "mutability": "mutable", - "name": "oldGasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6693, - "src": "369:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "369:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6691, - "indexed": false, - "mutability": "mutable", - "name": "newGasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6693, - "src": "395:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "395:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "368:52:22" - }, - "src": "343:78:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 6699, - "name": "UpdateLiquidityProviderFeeRate", - "nodeType": "EventDefinition", - "parameters": { - "id": 6698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6695, - "indexed": false, - "mutability": "mutable", - "name": "oldLiquidityProviderFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6699, - "src": "473:35:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "473:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6697, - "indexed": false, - "mutability": "mutable", - "name": "newLiquidityProviderFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6699, - "src": "518:35:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "518:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "463:96:22" - }, - "src": "427:133:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 6705, - "name": "UpdateMaintainerFeeRate", - "nodeType": "EventDefinition", - "parameters": { - "id": 6704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6701, - "indexed": false, - "mutability": "mutable", - "name": "oldMaintainerFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6705, - "src": "596:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6703, - "indexed": false, - "mutability": "mutable", - "name": "newMaintainerFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6705, - "src": "626:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "626:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "595:60:22" - }, - "src": "566:90:22" - }, - { - "anonymous": false, - "documentation": null, - "id": 6711, - "name": "UpdateK", - "nodeType": "EventDefinition", - "parameters": { - "id": 6710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6707, - "indexed": false, - "mutability": "mutable", - "name": "oldK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6711, - "src": "676:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6709, - "indexed": false, - "mutability": "mutable", - "name": "newK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6711, - "src": "690:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "675:28:22" - }, - "src": "662:42:22" - }, - { - "body": { - "id": 6722, - "nodeType": "Block", - "src": "826:37:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6718, - "name": "_ORACLE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9451, - "src": "836:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6719, - "name": "newOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6713, - "src": "847:9:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "836:20:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6721, - "nodeType": "ExpressionStatement", - "src": "836:20:22" - } - ] - }, - "documentation": null, - "functionSelector": "7adbf973", - "id": 6723, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6716, - "modifierName": { - "argumentTypes": null, - "id": 6715, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "816:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "816:9:22" - } - ], - "name": "setOracle", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6713, - "mutability": "mutable", - "name": "newOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6723, - "src": "788:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "788:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:19:22" - }, - "returnParameters": { - "id": 6717, - "nodeType": "ParameterList", - "parameters": [], - "src": "826:0:22" - }, - "scope": 6963, - "src": "769:94:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6734, - "nodeType": "Block", - "src": "934:45:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6730, - "name": "_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "944:12:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6731, - "name": "newSupervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "959:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "944:28:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6733, - "nodeType": "ExpressionStatement", - "src": "944:28:22" - } - ] - }, - "documentation": null, - "functionSelector": "9299eb30", - "id": 6735, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6728, - "modifierName": { - "argumentTypes": null, - "id": 6727, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "924:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "924:9:22" - } - ], - "name": "setSupervisor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6725, - "mutability": "mutable", - "name": "newSupervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6735, - "src": "892:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "892:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "891:23:22" - }, - "returnParameters": { - "id": 6729, - "nodeType": "ParameterList", - "parameters": [], - "src": "934:0:22" - }, - "scope": 6963, - "src": "869:110:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6746, - "nodeType": "Block", - "src": "1050:45:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6742, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "1060:12:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6743, - "name": "newMaintainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "1075:13:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1060:28:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6745, - "nodeType": "ExpressionStatement", - "src": "1060:28:22" - } - ] - }, - "documentation": null, - "functionSelector": "13ea5d29", - "id": 6747, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6740, - "modifierName": { - "argumentTypes": null, - "id": 6739, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1040:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1040:9:22" - } - ], - "name": "setMaintainer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6737, - "mutability": "mutable", - "name": "newMaintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6747, - "src": "1008:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1008:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1007:23:22" - }, - "returnParameters": { - "id": 6741, - "nodeType": "ParameterList", - "parameters": [], - "src": "1050:0:22" - }, - "scope": 6963, - "src": "985:110:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6766, - "nodeType": "Block", - "src": "1194:181:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6755, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "1240:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6756, - "name": "newLiquidityPorviderFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6749, - "src": "1255:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6754, - "name": "UpdateLiquidityProviderFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6699, - "src": "1209:30:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1209:74:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6758, - "nodeType": "EmitStatement", - "src": "1204:79:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6759, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "1293:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6760, - "name": "newLiquidityPorviderFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6749, - "src": "1309:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1293:43:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6762, - "nodeType": "ExpressionStatement", - "src": "1293:43:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6763, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1346:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1346:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6765, - "nodeType": "ExpressionStatement", - "src": "1346:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "5bb7552a", - "id": 6767, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6752, - "modifierName": { - "argumentTypes": null, - "id": 6751, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1184:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1184:9:22" - } - ], - "name": "setLiquidityProviderFeeRate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6749, - "mutability": "mutable", - "name": "newLiquidityPorviderFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6767, - "src": "1138:35:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1138:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1137:37:22" - }, - "returnParameters": { - "id": 6753, - "nodeType": "ParameterList", - "parameters": [], - "src": "1194:0:22" - }, - "scope": 6963, - "src": "1101:274:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6786, - "nodeType": "Block", - "src": "1460:160:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6775, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "1499:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6776, - "name": "newMaintainerFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "1514:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6774, - "name": "UpdateMaintainerFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6705, - "src": "1475:23:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1475:60:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6778, - "nodeType": "EmitStatement", - "src": "1470:65:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6779, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "1545:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6780, - "name": "newMaintainerFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "1561:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1545:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6782, - "nodeType": "ExpressionStatement", - "src": "1545:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6783, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1591:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1591:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6785, - "nodeType": "ExpressionStatement", - "src": "1591:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "f2220416", - "id": 6787, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6772, - "modifierName": { - "argumentTypes": null, - "id": 6771, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1450:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1450:9:22" - } - ], - "name": "setMaintainerFeeRate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6769, - "mutability": "mutable", - "name": "newMaintainerFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6787, - "src": "1411:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1411:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1410:30:22" - }, - "returnParameters": { - "id": 6773, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:22" - }, - "scope": 6963, - "src": "1381:239:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6806, - "nodeType": "Block", - "src": "1673:92:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6795, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "1696:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6796, - "name": "newK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "1701:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6794, - "name": "UpdateK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6711, - "src": "1688:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:18:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6798, - "nodeType": "EmitStatement", - "src": "1683:23:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6799, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "1716:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6800, - "name": "newK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "1722:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1716:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6802, - "nodeType": "ExpressionStatement", - "src": "1716:10:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6803, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1736:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1736:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6805, - "nodeType": "ExpressionStatement", - "src": "1736:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "67de8be9", - "id": 6807, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6792, - "modifierName": { - "argumentTypes": null, - "id": 6791, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "1663:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1663:9:22" - } - ], - "name": "setK", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6789, - "mutability": "mutable", - "name": "newK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6807, - "src": "1640:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1640:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1639:14:22" - }, - "returnParameters": { - "id": 6793, - "nodeType": "ParameterList", - "parameters": [], - "src": "1673:0:22" - }, - "scope": 6963, - "src": "1626:139:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6823, - "nodeType": "Block", - "src": "1854:124:22", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6815, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1889:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6816, - "name": "newGasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6809, - "src": "1908:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6814, - "name": "UpdateGasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6693, - "src": "1869:19:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 6817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1869:56:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6818, - "nodeType": "EmitStatement", - "src": "1864:61:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6819, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1935:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6820, - "name": "newGasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6809, - "src": "1955:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1935:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6822, - "nodeType": "ExpressionStatement", - "src": "1935:36:22" - } - ] - }, - "documentation": null, - "functionSelector": "09231602", - "id": 6824, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6812, - "modifierName": { - "argumentTypes": null, - "id": 6811, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "1832:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1832:21:22" - } - ], - "name": "setGasPriceLimit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6809, - "mutability": "mutable", - "name": "newGasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6824, - "src": "1797:24:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1797:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1796:26:22" - }, - "returnParameters": { - "id": 6813, - "nodeType": "ParameterList", - "parameters": [], - "src": "1854:0:22" - }, - "scope": 6963, - "src": "1771:207:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6833, - "nodeType": "Block", - "src": "2100:40:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6829, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "2110:15:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2110:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6832, - "nodeType": "ExpressionStatement", - "src": "2110:23:22" - } - ] - }, - "documentation": null, - "functionSelector": "17700f01", - "id": 6834, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6827, - "modifierName": { - "argumentTypes": null, - "id": 6826, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2078:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2078:21:22" - } - ], - "name": "disableTrading", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6825, - "nodeType": "ParameterList", - "parameters": [], - "src": "2066:2:22" - }, - "returnParameters": { - "id": 6828, - "nodeType": "ParameterList", - "parameters": [], - "src": "2100:0:22" - }, - "scope": 6963, - "src": "2043:97:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6845, - "nodeType": "Block", - "src": "2200:39:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6841, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "2210:15:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2228:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2210:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6844, - "nodeType": "ExpressionStatement", - "src": "2210:22:22" - } - ] - }, - "documentation": null, - "functionSelector": "8a8c523c", - "id": 6846, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6837, - "modifierName": { - "argumentTypes": null, - "id": 6836, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2180:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2180:9:22" - }, - { - "arguments": null, - "id": 6839, - "modifierName": { - "argumentTypes": null, - "id": 6838, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2190:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2190:9:22" - } - ], - "name": "enableTrading", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6835, - "nodeType": "ParameterList", - "parameters": [], - "src": "2168:2:22" - }, - "returnParameters": { - "id": 6840, - "nodeType": "ParameterList", - "parameters": [], - "src": "2200:0:22" - }, - "scope": 6963, - "src": "2146:93:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6855, - "nodeType": "Block", - "src": "2307:48:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6851, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "2317:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2343:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2317:31:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6854, - "nodeType": "ExpressionStatement", - "src": "2317:31:22" - } - ] - }, - "documentation": null, - "functionSelector": "bc7d679d", - "id": 6856, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6849, - "modifierName": { - "argumentTypes": null, - "id": 6848, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2285:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2285:21:22" - } - ], - "name": "disableQuoteDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6847, - "nodeType": "ParameterList", - "parameters": [], - "src": "2273:2:22" - }, - "returnParameters": { - "id": 6850, - "nodeType": "ParameterList", - "parameters": [], - "src": "2307:0:22" - }, - "scope": 6963, - "src": "2245:110:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6867, - "nodeType": "Block", - "src": "2420:47:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6863, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "2430:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2456:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2430:30:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6866, - "nodeType": "ExpressionStatement", - "src": "2430:30:22" - } - ] - }, - "documentation": null, - "functionSelector": "36ac41a8", - "id": 6868, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6859, - "modifierName": { - "argumentTypes": null, - "id": 6858, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2400:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2400:9:22" - }, - { - "arguments": null, - "id": 6861, - "modifierName": { - "argumentTypes": null, - "id": 6860, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2410:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2410:9:22" - } - ], - "name": "enableQuoteDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6857, - "nodeType": "ParameterList", - "parameters": [], - "src": "2388:2:22" - }, - "returnParameters": { - "id": 6862, - "nodeType": "ParameterList", - "parameters": [], - "src": "2420:0:22" - }, - "scope": 6963, - "src": "2361:106:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6877, - "nodeType": "Block", - "src": "2534:47:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6873, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "2544:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2569:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2544:30:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6876, - "nodeType": "ExpressionStatement", - "src": "2544:30:22" - } - ] - }, - "documentation": null, - "functionSelector": "13c57624", - "id": 6878, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6871, - "modifierName": { - "argumentTypes": null, - "id": 6870, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2512:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2512:21:22" - } - ], - "name": "disableBaseDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6869, - "nodeType": "ParameterList", - "parameters": [], - "src": "2500:2:22" - }, - "returnParameters": { - "id": 6872, - "nodeType": "ParameterList", - "parameters": [], - "src": "2534:0:22" - }, - "scope": 6963, - "src": "2473:108:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6889, - "nodeType": "Block", - "src": "2645:46:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6885, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "2655:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2680:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2655:29:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6888, - "nodeType": "ExpressionStatement", - "src": "2655:29:22" - } - ] - }, - "documentation": null, - "functionSelector": "1184d8be", - "id": 6890, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6881, - "modifierName": { - "argumentTypes": null, - "id": 6880, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2625:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2625:9:22" - }, - { - "arguments": null, - "id": 6883, - "modifierName": { - "argumentTypes": null, - "id": 6882, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2635:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2635:9:22" - } - ], - "name": "enableBaseDeposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6879, - "nodeType": "ParameterList", - "parameters": [], - "src": "2613:2:22" - }, - "returnParameters": { - "id": 6884, - "nodeType": "ParameterList", - "parameters": [], - "src": "2645:0:22" - }, - "scope": 6963, - "src": "2587:104:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6899, - "nodeType": "Block", - "src": "2814:41:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6895, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "2824:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2824:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6898, - "nodeType": "ExpressionStatement", - "src": "2824:24:22" - } - ] - }, - "documentation": null, - "functionSelector": "247f993b", - "id": 6900, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6893, - "modifierName": { - "argumentTypes": null, - "id": 6892, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2792:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2792:21:22" - } - ], - "name": "disableBuying", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6891, - "nodeType": "ParameterList", - "parameters": [], - "src": "2780:2:22" - }, - "returnParameters": { - "id": 6894, - "nodeType": "ParameterList", - "parameters": [], - "src": "2814:0:22" - }, - "scope": 6963, - "src": "2758:97:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6911, - "nodeType": "Block", - "src": "2914:40:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6907, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "2924:16:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2943:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2924:23:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6910, - "nodeType": "ExpressionStatement", - "src": "2924:23:22" - } - ] - }, - "documentation": null, - "functionSelector": "90cbf822", - "id": 6912, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6903, - "modifierName": { - "argumentTypes": null, - "id": 6902, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2894:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2894:9:22" - }, - { - "arguments": null, - "id": 6905, - "modifierName": { - "argumentTypes": null, - "id": 6904, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2904:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2904:9:22" - } - ], - "name": "enableBuying", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6901, - "nodeType": "ParameterList", - "parameters": [], - "src": "2882:2:22" - }, - "returnParameters": { - "id": 6906, - "nodeType": "ParameterList", - "parameters": [], - "src": "2914:0:22" - }, - "scope": 6963, - "src": "2861:93:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6921, - "nodeType": "Block", - "src": "3017:42:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6917, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "3027:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3047:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3027:25:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6920, - "nodeType": "ExpressionStatement", - "src": "3027:25:22" - } - ] - }, - "documentation": null, - "functionSelector": "aceecbc8", - "id": 6922, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6915, - "modifierName": { - "argumentTypes": null, - "id": 6914, - "name": "onlySupervisorOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2995:21:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2995:21:22" - } - ], - "name": "disableSelling", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6913, - "nodeType": "ParameterList", - "parameters": [], - "src": "2983:2:22" - }, - "returnParameters": { - "id": 6916, - "nodeType": "ParameterList", - "parameters": [], - "src": "3017:0:22" - }, - "scope": 6963, - "src": "2960:99:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6933, - "nodeType": "Block", - "src": "3119:41:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6929, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "3129:17:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3149:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3129:24:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6932, - "nodeType": "ExpressionStatement", - "src": "3129:24:22" - } - ] - }, - "documentation": null, - "functionSelector": "cc062b58", - "id": 6934, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6925, - "modifierName": { - "argumentTypes": null, - "id": 6924, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "3099:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3099:9:22" - }, - { - "arguments": null, - "id": 6927, - "modifierName": { - "argumentTypes": null, - "id": 6926, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "3109:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3109:9:22" - } - ], - "name": "enableSelling", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6923, - "nodeType": "ParameterList", - "parameters": [], - "src": "3087:2:22" - }, - "returnParameters": { - "id": 6928, - "nodeType": "ParameterList", - "parameters": [], - "src": "3119:0:22" - }, - "scope": 6963, - "src": "3065:95:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6947, - "nodeType": "Block", - "src": "3253:59:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6943, - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9439, - "src": "3263:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6944, - "name": "newBaseBalanceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6936, - "src": "3286:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3263:42:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6946, - "nodeType": "ExpressionStatement", - "src": "3263:42:22" - } - ] - }, - "documentation": null, - "functionSelector": "892daf05", - "id": 6948, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6939, - "modifierName": { - "argumentTypes": null, - "id": 6938, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "3233:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3233:9:22" - }, - { - "arguments": null, - "id": 6941, - "modifierName": { - "argumentTypes": null, - "id": 6940, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "3243:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3243:9:22" - } - ], - "name": "setBaseBalanceLimit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6937, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6936, - "mutability": "mutable", - "name": "newBaseBalanceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6948, - "src": "3195:27:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3195:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3194:29:22" - }, - "returnParameters": { - "id": 6942, - "nodeType": "ParameterList", - "parameters": [], - "src": "3253:0:22" - }, - "scope": 6963, - "src": "3166:146:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6961, - "nodeType": "Block", - "src": "3407:61:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6957, - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "3417:21:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6958, - "name": "newQuoteBalanceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6950, - "src": "3441:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3417:44:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6960, - "nodeType": "ExpressionStatement", - "src": "3417:44:22" - } - ] - }, - "documentation": null, - "functionSelector": "97316ad8", - "id": 6962, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6953, - "modifierName": { - "argumentTypes": null, - "id": 6952, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "3387:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3387:9:22" - }, - { - "arguments": null, - "id": 6955, - "modifierName": { - "argumentTypes": null, - "id": 6954, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "3397:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3397:9:22" - } - ], - "name": "setQuoteBalanceLimit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6950, - "mutability": "mutable", - "name": "newQuoteBalanceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6962, - "src": "3348:28:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3348:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3347:30:22" - }, - "returnParameters": { - "id": 6956, - "nodeType": "ParameterList", - "parameters": [], - "src": "3407:0:22" - }, - "scope": 6963, - "src": "3318:150:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6964, - "src": "270:3200:22" - } - ], - "src": "78:3393:22" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.678Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Admin" - }, - "userdoc": { - "methods": {}, - "notice": "Functions for admin operations" - } -} \ No newline at end of file diff --git a/build-v1/contracts/BandBNBBUSDPriceOracleProxy.json b/build-v1/contracts/BandBNBBUSDPriceOracleProxy.json deleted file mode 100644 index b0efd91..0000000 --- a/build-v1/contracts/BandBNBBUSDPriceOracleProxy.json +++ /dev/null @@ -1,1047 +0,0 @@ -{ - "contractName": "BandBNBBUSDPriceOracleProxy", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IBandOracleAggregator", - "name": "_aggregator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "aggregator", - "outputs": [ - { - "internalType": "contract IBandOracleAggregator", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IBandOracleAggregator\",\"name\":\"_aggregator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"contract IBandOracleAggregator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol\":\"BandBNBBUSDPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol\":{\"keccak256\":\"0x3fb4b23899bd5ce681ec2f80d5ba228c9a3a86c86ee877010280286ac0a4e650\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://426b50755f7de3b9ad1eccf29c8940c859a64d4b8092a0255d6c19456198f582\",\"dweb:/ipfs/Qmc5H2rEQLz92yvPJFtiYi9RdsJsCoxtu27udHEzk66kkc\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060405161023438038061023483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6101a3806100916000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063245a7bfc1461003b57806398d5fdca14610059575b600080fd5b61004361006e565b6040516100509190610119565b60405180910390f35b61006161007d565b6040516100509190610164565b6000546001600160a01b031681565b6000805460405163195556f360e21b81526001600160a01b03909116906365555bcc906100ac9060040161012d565b60206040518083038186803b1580156100c457600080fd5b505afa1580156100d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fc9190610101565b905090565b600060208284031215610112578081fd5b5051919050565b6001600160a01b0391909116815260200190565b604080825260039082018190526221272160e91b6060830152608060208301819052820152621554d160ea1b60a082015260c00190565b9081526020019056fea26469706673582212203679565ead7c9ba3798f21b1c8a9c7453826485a4329737309557af60365c16564736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063245a7bfc1461003b57806398d5fdca14610059575b600080fd5b61004361006e565b6040516100509190610119565b60405180910390f35b61006161007d565b6040516100509190610164565b6000546001600160a01b031681565b6000805460405163195556f360e21b81526001600160a01b03909116906365555bcc906100ac9060040161012d565b60206040518083038186803b1580156100c457600080fd5b505afa1580156100d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fc9190610101565b905090565b600060208284031215610112578081fd5b5051919050565b6001600160a01b0391909116815260200190565b604080825260039082018190526221272160e91b6060830152608060208301819052820152621554d160ea1b60a082015260c00190565b9081526020019056fea26469706673582212203679565ead7c9ba3798f21b1c8a9c7453826485a4329737309557af60365c16564736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "303:307:3:-:0;;;392:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:10;:24;;-1:-1:-1;;;;;;456:24:3;-1:-1:-1;;;;;456:24:3;;;;;;;;;;303:307;;206:323:-1;;351:2;339:9;330:7;326:23;322:32;319:2;;;-1:-1;;357:12;319:2;113:13;;-1:-1;;;;;824:54;;979:65;;969:2;;-1:-1;;1048:12;969:2;409:104;313:216;-1:-1;;;313:216;;303:307:3;;;;;;", - "deployedSourceMap": "303:307:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;346:39;;;:::i;:::-;;;;;;;;;;;;;;;;493:115;;;:::i;:::-;;;;;;;;346:39;;;-1:-1:-1;;;;;346:39:3;;:::o;493:115::-;534:7;560:10;;:41;;-1:-1:-1;;;560:41:3;;-1:-1:-1;;;;;560:10:3;;;;:27;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;553:48;;493:115;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;1351:282;-1:-1;;;;;2831:54;;;;517:80;;1508:2;1493:18;;1479:154;1640:721;1941:2;1955:47;;;834:1;1926:18;;;2701:19;;;-1:-1;;;2741:14;;;849:26;894:12;2750:4;2165:18;;2158:48;;;894:12;;2701:19;-1:-1;;;2741:14;;;1160:26;1205:12;;;1912:449;2368:222;1302:37;;;2495:2;2480:18;;2466:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IBandOracleAggregator {\n function getReferenceData(string memory base, string memory quote)\n external\n view\n returns (uint256);\n}\n\n\ncontract BandBNBBUSDPriceOracleProxy {\n IBandOracleAggregator public aggregator;\n\n constructor(IBandOracleAggregator _aggregator) public {\n aggregator = _aggregator;\n }\n\n function getPrice() public view returns (uint256) {\n return aggregator.getReferenceData(\"BNB\", \"USD\");\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol", - "exportedSymbols": { - "BandBNBBUSDPriceOracleProxy": [ - 1728 - ], - "IBandOracleAggregator": [ - 1703 - ] - }, - "id": 1729, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1692, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:3" - }, - { - "id": 1693, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1703, - "linearizedBaseContracts": [ - 1703 - ], - "name": "IBandOracleAggregator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "65555bcc", - "id": 1702, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReferenceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1695, - "mutability": "mutable", - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "201:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1694, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "201:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1697, - "mutability": "mutable", - "name": "quote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "221:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1696, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "221:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "200:41:3" - }, - "returnParameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1700, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "289:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "288:9:3" - }, - "scope": 1703, - "src": "175:123:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1729, - "src": "137:163:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1728, - "linearizedBaseContracts": [ - 1728 - ], - "name": "BandBNBBUSDPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "245a7bfc", - "id": 1705, - "mutability": "mutable", - "name": "aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1728, - "src": "346:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1704, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "346:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 1714, - "nodeType": "Block", - "src": "446:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1710, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "456:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1711, - "name": "_aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1707, - "src": "469:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "src": "456:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "456:24:3" - } - ] - }, - "documentation": null, - "id": 1715, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1707, - "mutability": "mutable", - "name": "_aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1715, - "src": "404:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1706, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "404:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "403:35:3" - }, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [], - "src": "446:0:3" - }, - "scope": 1728, - "src": "392:95:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1726, - "nodeType": "Block", - "src": "543:65:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "424e42", - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - "value": "BNB" - }, - { - "argumentTypes": null, - "hexValue": "555344", - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "595:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - }, - "value": "USD" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1720, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "560:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReferenceData", - "nodeType": "MemberAccess", - "referencedDeclaration": 1702, - "src": "560:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory,string memory) view external returns (uint256)" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "560:41:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1719, - "id": 1725, - "nodeType": "Return", - "src": "553:48:3" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1716, - "nodeType": "ParameterList", - "parameters": [], - "src": "510:2:3" - }, - "returnParameters": { - "id": 1719, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1718, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1727, - "src": "534:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "533:9:3" - }, - "scope": 1728, - "src": "493:115:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1729, - "src": "303:307:3" - } - ], - "src": "78:533:3" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol", - "exportedSymbols": { - "BandBNBBUSDPriceOracleProxy": [ - 1728 - ], - "IBandOracleAggregator": [ - 1703 - ] - }, - "id": 1729, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1692, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:3" - }, - { - "id": 1693, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1703, - "linearizedBaseContracts": [ - 1703 - ], - "name": "IBandOracleAggregator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "65555bcc", - "id": 1702, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReferenceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1695, - "mutability": "mutable", - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "201:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1694, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "201:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1697, - "mutability": "mutable", - "name": "quote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "221:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1696, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "221:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "200:41:3" - }, - "returnParameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1700, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "289:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "288:9:3" - }, - "scope": 1703, - "src": "175:123:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1729, - "src": "137:163:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1728, - "linearizedBaseContracts": [ - 1728 - ], - "name": "BandBNBBUSDPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "245a7bfc", - "id": 1705, - "mutability": "mutable", - "name": "aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1728, - "src": "346:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1704, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "346:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 1714, - "nodeType": "Block", - "src": "446:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1710, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "456:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1711, - "name": "_aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1707, - "src": "469:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "src": "456:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "456:24:3" - } - ] - }, - "documentation": null, - "id": 1715, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1707, - "mutability": "mutable", - "name": "_aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1715, - "src": "404:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1706, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "404:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "403:35:3" - }, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [], - "src": "446:0:3" - }, - "scope": 1728, - "src": "392:95:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1726, - "nodeType": "Block", - "src": "543:65:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "424e42", - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - "value": "BNB" - }, - { - "argumentTypes": null, - "hexValue": "555344", - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "595:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - }, - "value": "USD" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1720, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "560:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReferenceData", - "nodeType": "MemberAccess", - "referencedDeclaration": 1702, - "src": "560:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory,string memory) view external returns (uint256)" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "560:41:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1719, - "id": 1725, - "nodeType": "Return", - "src": "553:48:3" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1716, - "nodeType": "ParameterList", - "parameters": [], - "src": "510:2:3" - }, - "returnParameters": { - "id": 1719, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1718, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1727, - "src": "534:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "533:9:3" - }, - "scope": 1728, - "src": "493:115:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1729, - "src": "303:307:3" - } - ], - "src": "78:533:3" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.491Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkCOMPUSDCPriceOracleProxy.json b/build-v1/contracts/ChainlinkCOMPUSDCPriceOracleProxy.json deleted file mode 100644 index 5eb41d9..0000000 --- a/build-v1/contracts/ChainlinkCOMPUSDCPriceOracleProxy.json +++ /dev/null @@ -1,788 +0,0 @@ -{ - "contractName": "ChainlinkCOMPUSDCPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkCOMPUSDCPriceOracleProxy.sol\":\"ChainlinkCOMPUSDCPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkCOMPUSDCPriceOracleProxy.sol\":{\"keccak256\":\"0x877cd3a97cdaa00539540a42f82bcc0f31052691f6b1b9d0ac1c95e17553bc7f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c7521a6fffeeda9c1dec37693b3feb632f15c33f403fee934c9cf9f823b5b099\",\"dweb:/ipfs/QmQMcqmV4u7wPwE4DZPWwckJhbQWcxz7Ds4nscGTGLCHKJ\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b03191673dbd020caef83efd542f4de03e3cf0c28a4428bd517905534801561003657600080fd5b50610173806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea264697066735822122086c588800adb33f879ded9ec8d3bcd8fdbd92571643d10bb8946fe873f76629b64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea264697066735822122086c588800adb33f879ded9ec8d3bcd8fdbd92571643d10bb8946fe873f76629b64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "269:245:4:-:0;;;318:69;;;-1:-1:-1;;;;;;318:69:4;345:42;318:69;;;269:245;;;;;;;;;;;;;;;;", - "deployedSourceMap": "269:245:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;394:118;;;:::i;:::-;;;;;;;;;;;;;;;;318:69;;;:::i;:::-;;;;;;;;394:118;437:7;474:9;;463:36;;;-1:-1:-1;;;463:36:4;;;;502:3;;-1:-1:-1;;;;;474:9:4;;463:34;;:36;;;;;;;;;;;;;;474:9;463:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;456:49;;394:118;:::o;318:69::-;;;-1:-1:-1;;;;;318:69:4;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for COMP-USDC(decimals=6) price convert\n\ncontract ChainlinkCOMPUSDCPriceOracleProxy {\n address public chainlink = 0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5;\n\n function getPrice() external view returns (uint256) {\n return IChainlink(chainlink).latestAnswer() / 100;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkCOMPUSDCPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkCOMPUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkCOMPUSDCPriceOracleProxy": [ - 1755 - ], - "IChainlink": [ - 1737 - ] - }, - "id": 1756, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1730, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:4" - }, - { - "id": 1731, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:4" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1737, - "linearizedBaseContracts": [ - 1737 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1736, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1732, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:4" - }, - "returnParameters": { - "id": 1735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1734, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1736, - "src": "211:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:4" - }, - "scope": 1737, - "src": "164:56:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1756, - "src": "137:85:4" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1755, - "linearizedBaseContracts": [ - 1755 - ], - "name": "ChainlinkCOMPUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1740, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "318:69:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864626430323043416546383365466435343266344465303365336346304332384134343238626435", - "id": 1739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:42:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5" - }, - "visibility": "public" - }, - { - "body": { - "id": 1753, - "nodeType": "Block", - "src": "446:66:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1746, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "474:9:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1745, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "463:10:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1737_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1737", - "typeString": "contract IChainlink" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1736, - "src": "463:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:36:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "502:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "463:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1744, - "id": 1752, - "nodeType": "Return", - "src": "456:49:4" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1754, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1741, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:4" - }, - "returnParameters": { - "id": 1744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1743, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1754, - "src": "437:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:9:4" - }, - "scope": 1755, - "src": "394:118:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1756, - "src": "269:245:4" - } - ], - "src": "78:437:4" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkCOMPUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkCOMPUSDCPriceOracleProxy": [ - 1755 - ], - "IChainlink": [ - 1737 - ] - }, - "id": 1756, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1730, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:4" - }, - { - "id": 1731, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:4" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1737, - "linearizedBaseContracts": [ - 1737 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1736, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1732, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:4" - }, - "returnParameters": { - "id": 1735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1734, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1736, - "src": "211:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:4" - }, - "scope": 1737, - "src": "164:56:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1756, - "src": "137:85:4" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1755, - "linearizedBaseContracts": [ - 1755 - ], - "name": "ChainlinkCOMPUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1740, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "318:69:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307864626430323043416546383365466435343266344465303365336346304332384134343238626435", - "id": 1739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:42:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5" - }, - "visibility": "public" - }, - { - "body": { - "id": 1753, - "nodeType": "Block", - "src": "446:66:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1746, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "474:9:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1745, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1737, - "src": "463:10:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1737_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1737", - "typeString": "contract IChainlink" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1736, - "src": "463:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:36:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "502:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "463:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1744, - "id": 1752, - "nodeType": "Return", - "src": "456:49:4" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1754, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1741, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:4" - }, - "returnParameters": { - "id": 1744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1743, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1754, - "src": "437:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:9:4" - }, - "scope": 1755, - "src": "394:118:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1756, - "src": "269:245:4" - } - ], - "src": "78:437:4" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.492Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkETHPriceOracleProxy.json b/build-v1/contracts/ChainlinkETHPriceOracleProxy.json deleted file mode 100644 index bbeedb3..0000000 --- a/build-v1/contracts/ChainlinkETHPriceOracleProxy.json +++ /dev/null @@ -1,788 +0,0 @@ -{ - "contractName": "ChainlinkETHPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDCPriceOracleProxy.sol\":\"ChainlinkETHPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDCPriceOracleProxy.sol\":{\"keccak256\":\"0xa3d5f252b03f5a5140c36a6815612e6484ad60cf6e88846dfafc14de7c76ee05\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://92ab3dcca573ab8f5ce280c2b26e1ddd692bc20f51515e129844b4143437bbb4\",\"dweb:/ipfs/QmWShayRc3PFHWAkzyW9mMVRjEGcGRP6t2CEpHxVibpRGw\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b031916735f4ec3df9cbd43714fe2740f5e3616155c5b841917905534801561003657600080fd5b50610173806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea26469706673582212205555b0b7c9d5fd397dcfc32dc4ba242ea35e2b5c33b9133350713a49ea552d0064736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea26469706673582212205555b0b7c9d5fd397dcfc32dc4ba242ea35e2b5c33b9133350713a49ea552d0064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "269:240:5:-:0;;;313:69;;;-1:-1:-1;;;;;;313:69:5;340:42;313:69;;;269:240;;;;;;;;;;;;;;;;", - "deployedSourceMap": "269:240:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:118;;;:::i;:::-;;;;;;;;;;;;;;;;313:69;;;:::i;:::-;;;;;;;;389:118;432:7;469:9;;458:36;;;-1:-1:-1;;;458:36:5;;;;497:3;;-1:-1:-1;;;;;469:9:5;;458:34;;:36;;;;;;;;;;;;;;469:9;458:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;451:49;;389:118;:::o;313:69::-;;;-1:-1:-1;;;;;313:69:5;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for WETH-USDC(decimals=6) price convert\n\ncontract ChainlinkETHPriceOracleProxy {\n address public chainlink = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419;\n\n function getPrice() external view returns (uint256) {\n return IChainlink(chainlink).latestAnswer() / 100;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDCPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkETHPriceOracleProxy": [ - 1782 - ], - "IChainlink": [ - 1764 - ] - }, - "id": 1783, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1757, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:5" - }, - { - "id": 1758, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:5" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1764, - "linearizedBaseContracts": [ - 1764 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1763, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:5" - }, - "returnParameters": { - "id": 1762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1761, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "211:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:5" - }, - "scope": 1764, - "src": "164:56:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1783, - "src": "137:85:5" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1782, - "linearizedBaseContracts": [ - 1782 - ], - "name": "ChainlinkETHPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1767, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1782, - "src": "313:69:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "313:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663465433344663963626434333731344645323734306635453336313631353563356238343139", - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "340:42:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" - }, - "visibility": "public" - }, - { - "body": { - "id": 1780, - "nodeType": "Block", - "src": "441:66:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1773, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1767, - "src": "469:9:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1772, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1764, - "src": "458:10:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1764_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "458:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1764", - "typeString": "contract IChainlink" - } - }, - "id": 1775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1763, - "src": "458:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "458:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "497:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "458:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1771, - "id": 1779, - "nodeType": "Return", - "src": "451:49:5" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1781, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1768, - "nodeType": "ParameterList", - "parameters": [], - "src": "406:2:5" - }, - "returnParameters": { - "id": 1771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1770, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1781, - "src": "432:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "432:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "431:9:5" - }, - "scope": 1782, - "src": "389:118:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1783, - "src": "269:240:5" - } - ], - "src": "78:432:5" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkETHPriceOracleProxy": [ - 1782 - ], - "IChainlink": [ - 1764 - ] - }, - "id": 1783, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1757, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:5" - }, - { - "id": 1758, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:5" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1764, - "linearizedBaseContracts": [ - 1764 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1763, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:5" - }, - "returnParameters": { - "id": 1762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1761, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "211:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:5" - }, - "scope": 1764, - "src": "164:56:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1783, - "src": "137:85:5" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1782, - "linearizedBaseContracts": [ - 1782 - ], - "name": "ChainlinkETHPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1767, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1782, - "src": "313:69:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "313:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663465433344663963626434333731344645323734306635453336313631353563356238343139", - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "340:42:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" - }, - "visibility": "public" - }, - { - "body": { - "id": 1780, - "nodeType": "Block", - "src": "441:66:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1773, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1767, - "src": "469:9:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1772, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1764, - "src": "458:10:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1764_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "458:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1764", - "typeString": "contract IChainlink" - } - }, - "id": 1775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1763, - "src": "458:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "458:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "497:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "458:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1771, - "id": 1779, - "nodeType": "Return", - "src": "451:49:5" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1781, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1768, - "nodeType": "ParameterList", - "parameters": [], - "src": "406:2:5" - }, - "returnParameters": { - "id": 1771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1770, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1781, - "src": "432:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "432:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "431:9:5" - }, - "scope": 1782, - "src": "389:118:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1783, - "src": "269:240:5" - } - ], - "src": "78:432:5" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.504Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkETHUSDTPriceOracleProxy.json b/build-v1/contracts/ChainlinkETHUSDTPriceOracleProxy.json deleted file mode 100644 index d45d7f4..0000000 --- a/build-v1/contracts/ChainlinkETHUSDTPriceOracleProxy.json +++ /dev/null @@ -1,862 +0,0 @@ -{ - "contractName": "ChainlinkETHUSDTPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDTPriceOracleProxy.sol\":\"ChainlinkETHUSDTPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDTPriceOracleProxy.sol\":{\"keccak256\":\"0x31064e788bd9a65876a82a982aa8c9217fa2b9b4398fc86310479c66774a0696\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b1f319120cf0071d800b5273d5ecfb514986e81abe90aa60d711980e6ba85ce9\",\"dweb:/ipfs/QmYPmRFHtEcto2XWX6KRiyWEdrLZeA7b5gEJk7N5d9pxQk\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b03191673ee9f2375b4bdf6387aa8265dd4fb8f16512a1d4617905534801561003657600080fd5b50610187806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610148565b60405180910390f35b61006161010d565b6040516100509190610134565b60008060009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100bd57600080fd5b505afa1580156100d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f5919061011c565b69d3c21bcecceda10000008161010757fe5b04905090565b6000546001600160a01b031681565b60006020828403121561012d578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220428095be92520b1539541bd81554548f3a314c244d6918196329713135ba236164736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610148565b60405180910390f35b61006161010d565b6040516100509190610134565b60008060009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100bd57600080fd5b505afa1580156100d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f5919061011c565b69d3c21bcecceda10000008161010757fe5b04905090565b6000546001600160a01b031681565b60006020828403121561012d578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220428095be92520b1539541bd81554548f3a314c244d6918196329713135ba236164736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "269:247:6:-:0;;;317:69;;;-1:-1:-1;;;;;;317:69:6;344:42;317:69;;;269:247;;;;;;;;;;;;;;;;", - "deployedSourceMap": "269:247:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;393:121;;;:::i;:::-;;;;;;;;;;;;;;;;317:69;;;:::i;:::-;;;;;;;;393:121;436:7;482:9;;;;;;;;;-1:-1:-1;;;;;482:9:6;-1:-1:-1;;;;;471:34:6;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;462:6;:45;;;;;;455:52;;393:121;:::o;317:69::-;;;-1:-1:-1;;;;;317:69:6;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for WETH-USDT(decimals=6) price convert\n\ncontract ChainlinkETHUSDTPriceOracleProxy {\n address public chainlink = 0xEe9F2375b4bdF6387aa8265dD4FB8F16512A1d46;\n\n function getPrice() external view returns (uint256) {\n return 10**24 / IChainlink(chainlink).latestAnswer();\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDTPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDTPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkETHUSDTPriceOracleProxy": [ - 1811 - ], - "IChainlink": [ - 1791 - ] - }, - "id": 1812, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1784, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:6" - }, - { - "id": 1785, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1791, - "linearizedBaseContracts": [ - 1791 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1790, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1786, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:6" - }, - "returnParameters": { - "id": 1789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1788, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1790, - "src": "211:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:6" - }, - "scope": 1791, - "src": "164:56:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1812, - "src": "137:85:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1811, - "linearizedBaseContracts": [ - 1811 - ], - "name": "ChainlinkETHUSDTPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1794, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1811, - "src": "317:69:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "317:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307845653946323337356234626446363338376161383236356444344642384631363531324131643436", - "id": 1793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "344:42:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xEe9F2375b4bdF6387aa8265dD4FB8F16512A1d46" - }, - "visibility": "public" - }, - { - "body": { - "id": 1809, - "nodeType": "Block", - "src": "445:69:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000" - }, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "462:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3234", - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "466:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24_by_1", - "typeString": "int_const 24" - }, - "value": "24" - }, - "src": "462:6:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1803, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1794, - "src": "482:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1802, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "471:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1791_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "471:21:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1791", - "typeString": "contract IChainlink" - } - }, - "id": 1805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1790, - "src": "471:34:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "471:36:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "462:45:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1798, - "id": 1808, - "nodeType": "Return", - "src": "455:52:6" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1810, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1795, - "nodeType": "ParameterList", - "parameters": [], - "src": "410:2:6" - }, - "returnParameters": { - "id": 1798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1797, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1810, - "src": "436:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "436:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "435:9:6" - }, - "scope": 1811, - "src": "393:121:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1812, - "src": "269:247:6" - } - ], - "src": "78:439:6" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkEthUSDTPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkETHUSDTPriceOracleProxy": [ - 1811 - ], - "IChainlink": [ - 1791 - ] - }, - "id": 1812, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1784, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:6" - }, - { - "id": 1785, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1791, - "linearizedBaseContracts": [ - 1791 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1790, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1786, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:6" - }, - "returnParameters": { - "id": 1789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1788, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1790, - "src": "211:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:6" - }, - "scope": 1791, - "src": "164:56:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1812, - "src": "137:85:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1811, - "linearizedBaseContracts": [ - 1811 - ], - "name": "ChainlinkETHUSDTPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1794, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1811, - "src": "317:69:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "317:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307845653946323337356234626446363338376161383236356444344642384631363531324131643436", - "id": 1793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "344:42:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xEe9F2375b4bdF6387aa8265dD4FB8F16512A1d46" - }, - "visibility": "public" - }, - { - "body": { - "id": 1809, - "nodeType": "Block", - "src": "445:69:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000" - }, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "462:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3234", - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "466:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24_by_1", - "typeString": "int_const 24" - }, - "value": "24" - }, - "src": "462:6:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1803, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1794, - "src": "482:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1802, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "471:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1791_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "471:21:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1791", - "typeString": "contract IChainlink" - } - }, - "id": 1805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1790, - "src": "471:34:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "471:36:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "462:45:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1798, - "id": 1808, - "nodeType": "Return", - "src": "455:52:6" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1810, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1795, - "nodeType": "ParameterList", - "parameters": [], - "src": "410:2:6" - }, - "returnParameters": { - "id": 1798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1797, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1810, - "src": "436:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "436:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "435:9:6" - }, - "scope": 1811, - "src": "393:121:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1812, - "src": "269:247:6" - } - ], - "src": "78:439:6" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.504Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkLENDUSDCPriceOracleProxy.json b/build-v1/contracts/ChainlinkLENDUSDCPriceOracleProxy.json deleted file mode 100644 index c36cb25..0000000 --- a/build-v1/contracts/ChainlinkLENDUSDCPriceOracleProxy.json +++ /dev/null @@ -1,788 +0,0 @@ -{ - "contractName": "ChainlinkLENDUSDCPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLENDUSDCPriceOracleProxy.sol\":\"ChainlinkLENDUSDCPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLENDUSDCPriceOracleProxy.sol\":{\"keccak256\":\"0xb622fdacf388c49e0ed152771f75ddc20075490003a74b8e6b57ee29e7cea681\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://43883ff1827f5dc0b05f74eabd023f792e2dc9fb6eea0e8b01b0e737fc9a243b\",\"dweb:/ipfs/QmeF8Q9hpkbA31ahu2WeT87otTfpVofGQgsc5jvi4gPx63\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b031916734ab81192bb75474cf203b56c36d6a13623270a6717905534801561003657600080fd5b50610173806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220e221107c0377e83c97f4957d4a167c2f3da11d089d46466b800fd1f2b7e5436564736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220e221107c0377e83c97f4957d4a167c2f3da11d089d46466b800fd1f2b7e5436564736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "269:245:7:-:0;;;318:69;;;-1:-1:-1;;;;;;318:69:7;345:42;318:69;;;269:245;;;;;;;;;;;;;;;;", - "deployedSourceMap": "269:245:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;394:118;;;:::i;:::-;;;;;;;;;;;;;;;;318:69;;;:::i;:::-;;;;;;;;394:118;437:7;474:9;;463:36;;;-1:-1:-1;;;463:36:7;;;;502:3;;-1:-1:-1;;;;;474:9:7;;463:34;;:36;;;;;;;;;;;;;;474:9;463:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;456:49;;394:118;:::o;318:69::-;;;-1:-1:-1;;;;;318:69:7;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for LEND-USDC(decimals=6) price convert\n\ncontract ChainlinkLENDUSDCPriceOracleProxy {\n address public chainlink = 0x4aB81192BB75474Cf203B56c36D6a13623270A67;\n\n function getPrice() external view returns (uint256) {\n return IChainlink(chainlink).latestAnswer() / 100;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLENDUSDCPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLENDUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkLENDUSDCPriceOracleProxy": [ - 1838 - ], - "IChainlink": [ - 1820 - ] - }, - "id": 1839, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1813, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:7" - }, - { - "id": 1814, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:7" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1820, - "linearizedBaseContracts": [ - 1820 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1819, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1815, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:7" - }, - "returnParameters": { - "id": 1818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1817, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1819, - "src": "211:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:7" - }, - "scope": 1820, - "src": "164:56:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1839, - "src": "137:85:7" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1838, - "linearizedBaseContracts": [ - 1838 - ], - "name": "ChainlinkLENDUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1823, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1838, - "src": "318:69:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834614238313139324242373534373443663230334235366333364436613133363233323730413637", - "id": 1822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:42:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x4aB81192BB75474Cf203B56c36D6a13623270A67" - }, - "visibility": "public" - }, - { - "body": { - "id": 1836, - "nodeType": "Block", - "src": "446:66:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1829, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1823, - "src": "474:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1828, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "463:10:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1820_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:21:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1820", - "typeString": "contract IChainlink" - } - }, - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1819, - "src": "463:34:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "502:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "463:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1827, - "id": 1835, - "nodeType": "Return", - "src": "456:49:7" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1837, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1824, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:7" - }, - "returnParameters": { - "id": 1827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1826, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1837, - "src": "437:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:9:7" - }, - "scope": 1838, - "src": "394:118:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1839, - "src": "269:245:7" - } - ], - "src": "78:437:7" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLENDUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkLENDUSDCPriceOracleProxy": [ - 1838 - ], - "IChainlink": [ - 1820 - ] - }, - "id": 1839, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1813, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:7" - }, - { - "id": 1814, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:7" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1820, - "linearizedBaseContracts": [ - 1820 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1819, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1815, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:7" - }, - "returnParameters": { - "id": 1818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1817, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1819, - "src": "211:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:7" - }, - "scope": 1820, - "src": "164:56:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1839, - "src": "137:85:7" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1838, - "linearizedBaseContracts": [ - 1838 - ], - "name": "ChainlinkLENDUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1823, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1838, - "src": "318:69:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307834614238313139324242373534373443663230334235366333364436613133363233323730413637", - "id": 1822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:42:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x4aB81192BB75474Cf203B56c36D6a13623270A67" - }, - "visibility": "public" - }, - { - "body": { - "id": 1836, - "nodeType": "Block", - "src": "446:66:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1829, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1823, - "src": "474:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1828, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "463:10:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1820_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:21:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1820", - "typeString": "contract IChainlink" - } - }, - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1819, - "src": "463:34:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "502:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "463:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1827, - "id": 1835, - "nodeType": "Return", - "src": "456:49:7" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1837, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1824, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:7" - }, - "returnParameters": { - "id": 1827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1826, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1837, - "src": "437:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:9:7" - }, - "scope": 1838, - "src": "394:118:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1839, - "src": "269:245:7" - } - ], - "src": "78:437:7" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.505Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkLINKUSDCPriceOracleProxy.json b/build-v1/contracts/ChainlinkLINKUSDCPriceOracleProxy.json deleted file mode 100644 index 80c77d7..0000000 --- a/build-v1/contracts/ChainlinkLINKUSDCPriceOracleProxy.json +++ /dev/null @@ -1,788 +0,0 @@ -{ - "contractName": "ChainlinkLINKUSDCPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLINKUSDPriceOracleProxy.sol\":\"ChainlinkLINKUSDCPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLINKUSDPriceOracleProxy.sol\":{\"keccak256\":\"0x3ebaa2e0e58be89c2f58b1c2c602b93f5481a9ddb6ab3a127f8b4dec90242131\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c10dff19155faacb4b4d13d5b35cf1d342450681e1d00f17e1ec2f85da7a9227\",\"dweb:/ipfs/QmTFtLyQ6MzEMxmbChMBu9mA41RLJdgEkN9i1i881atDa2\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b031916732c1d072e956affc0d435cb7ac38ef18d24d9127c17905534801561003657600080fd5b50610173806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea26469706673582212206339132c62e384e50511e1d1958837d962ba2f726d20b05adaffad0b5717b33064736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea26469706673582212206339132c62e384e50511e1d1958837d962ba2f726d20b05adaffad0b5717b33064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "269:245:8:-:0;;;318:69;;;-1:-1:-1;;;;;;318:69:8;345:42;318:69;;;269:245;;;;;;;;;;;;;;;;", - "deployedSourceMap": "269:245:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;394:118;;;:::i;:::-;;;;;;;;;;;;;;;;318:69;;;:::i;:::-;;;;;;;;394:118;437:7;474:9;;463:36;;;-1:-1:-1;;;463:36:8;;;;502:3;;-1:-1:-1;;;;;474:9:8;;463:34;;:36;;;;;;;;;;;;;;474:9;463:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;456:49;;394:118;:::o;318:69::-;;;-1:-1:-1;;;;;318:69:8;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for LINK-USDC(decimals=6) price convert\n\ncontract ChainlinkLINKUSDCPriceOracleProxy {\n address public chainlink = 0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c;\n\n function getPrice() external view returns (uint256) {\n return IChainlink(chainlink).latestAnswer() / 100;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLINKUSDPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLINKUSDPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkLINKUSDCPriceOracleProxy": [ - 1865 - ], - "IChainlink": [ - 1847 - ] - }, - "id": 1866, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1840, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:8" - }, - { - "id": 1841, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:8" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1847, - "linearizedBaseContracts": [ - 1847 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1846, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1842, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:8" - }, - "returnParameters": { - "id": 1845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1844, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1846, - "src": "211:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:8" - }, - "scope": 1847, - "src": "164:56:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1866, - "src": "137:85:8" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1865, - "linearizedBaseContracts": [ - 1865 - ], - "name": "ChainlinkLINKUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1850, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1865, - "src": "318:69:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1848, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832633164303732653935364146464330443433354362374143333845463138643234643931323763", - "id": 1849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:42:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c" - }, - "visibility": "public" - }, - { - "body": { - "id": 1863, - "nodeType": "Block", - "src": "446:66:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1856, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1850, - "src": "474:9:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1855, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1847, - "src": "463:10:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1847_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1847", - "typeString": "contract IChainlink" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1846, - "src": "463:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "502:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "463:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1854, - "id": 1862, - "nodeType": "Return", - "src": "456:49:8" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1864, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1851, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:8" - }, - "returnParameters": { - "id": 1854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1853, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1864, - "src": "437:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:9:8" - }, - "scope": 1865, - "src": "394:118:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1866, - "src": "269:245:8" - } - ], - "src": "78:437:8" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkLINKUSDPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkLINKUSDCPriceOracleProxy": [ - 1865 - ], - "IChainlink": [ - 1847 - ] - }, - "id": 1866, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1840, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:8" - }, - { - "id": 1841, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:8" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1847, - "linearizedBaseContracts": [ - 1847 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1846, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1842, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:8" - }, - "returnParameters": { - "id": 1845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1844, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1846, - "src": "211:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:8" - }, - "scope": 1847, - "src": "164:56:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1866, - "src": "137:85:8" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1865, - "linearizedBaseContracts": [ - 1865 - ], - "name": "ChainlinkLINKUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1850, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1865, - "src": "318:69:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1848, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832633164303732653935364146464330443433354362374143333845463138643234643931323763", - "id": 1849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:42:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c" - }, - "visibility": "public" - }, - { - "body": { - "id": 1863, - "nodeType": "Block", - "src": "446:66:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1856, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1850, - "src": "474:9:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1855, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1847, - "src": "463:10:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1847_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1847", - "typeString": "contract IChainlink" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1846, - "src": "463:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "463:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "502:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "463:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1854, - "id": 1862, - "nodeType": "Return", - "src": "456:49:8" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1864, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1851, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:8" - }, - "returnParameters": { - "id": 1854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1853, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1864, - "src": "437:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:9:8" - }, - "scope": 1865, - "src": "394:118:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1866, - "src": "269:245:8" - } - ], - "src": "78:437:8" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.505Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkSNXUSDCPriceOracleProxy.json b/build-v1/contracts/ChainlinkSNXUSDCPriceOracleProxy.json deleted file mode 100644 index d83063a..0000000 --- a/build-v1/contracts/ChainlinkSNXUSDCPriceOracleProxy.json +++ /dev/null @@ -1,788 +0,0 @@ -{ - "contractName": "ChainlinkSNXUSDCPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkSNXUSDPriceOracleProxy.sol\":\"ChainlinkSNXUSDCPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkSNXUSDPriceOracleProxy.sol\":{\"keccak256\":\"0x1cbd26db6ab1f8ad316681662704aedb54caaf3ce26031ef558ee3db6362ffee\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b8baf436ad553f5fb53537279c279e3de774fe134497d08a989313f6d0aec772\",\"dweb:/ipfs/QmSSrR1PfVDmsMZPYU7azYusiFc45L9DHub73PZWGtoTGd\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b03191673dc3ea94cd0ac27d9a86c180091e7f78c683d369917905534801561003657600080fd5b50610173806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220a43884883f019b4a79923b7b2d333ad3677db886931fbbe976b55732e82c7c0964736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b6040516100509190610134565b60405180910390f35b6100616100f9565b6040516100509190610120565b60008054604080516350d25bcd60e01b815290516064926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100b457600080fd5b505afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec9190610108565b816100f357fe5b04905090565b6000546001600160a01b031681565b600060208284031215610119578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220a43884883f019b4a79923b7b2d333ad3677db886931fbbe976b55732e82c7c0964736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "268:244:9:-:0;;;316:69;;;-1:-1:-1;;;;;;316:69:9;343:42;316:69;;;268:244;;;;;;;;;;;;;;;;", - "deployedSourceMap": "268:244:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;392:118;;;:::i;:::-;;;;;;;;;;;;;;;;316:69;;;:::i;:::-;;;;;;;;392:118;435:7;472:9;;461:36;;;-1:-1:-1;;;461:36:9;;;;500:3;;-1:-1:-1;;;;;472:9:9;;461:34;;:36;;;;;;;;;;;;;;472:9;461:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;454:49;;392:118;:::o;316:69::-;;;-1:-1:-1;;;;;316:69:9;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for SNX-USDC(decimals=6) price convert\n\ncontract ChainlinkSNXUSDCPriceOracleProxy {\n address public chainlink = 0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699;\n\n function getPrice() external view returns (uint256) {\n return IChainlink(chainlink).latestAnswer() / 100;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkSNXUSDPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkSNXUSDPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkSNXUSDCPriceOracleProxy": [ - 1892 - ], - "IChainlink": [ - 1874 - ] - }, - "id": 1893, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1867, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:9" - }, - { - "id": 1868, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:9" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1874, - "linearizedBaseContracts": [ - 1874 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1873, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1869, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:9" - }, - "returnParameters": { - "id": 1872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1871, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1873, - "src": "211:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:9" - }, - "scope": 1874, - "src": "164:56:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1893, - "src": "137:85:9" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1892, - "linearizedBaseContracts": [ - 1892 - ], - "name": "ChainlinkSNXUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1877, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1892, - "src": "316:69:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "316:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307844433345413934434430414332376439413836433138303039316537663738433638336433363939", - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:42:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699" - }, - "visibility": "public" - }, - { - "body": { - "id": 1890, - "nodeType": "Block", - "src": "444:66:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1883, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1877, - "src": "472:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1882, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "461:10:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1874_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "461:21:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1874", - "typeString": "contract IChainlink" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1873, - "src": "461:34:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "461:36:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "500:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "461:42:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1881, - "id": 1889, - "nodeType": "Return", - "src": "454:49:9" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1891, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1878, - "nodeType": "ParameterList", - "parameters": [], - "src": "409:2:9" - }, - "returnParameters": { - "id": 1881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1891, - "src": "435:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "435:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "434:9:9" - }, - "scope": 1892, - "src": "392:118:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1893, - "src": "268:244:9" - } - ], - "src": "78:435:9" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkSNXUSDPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkSNXUSDCPriceOracleProxy": [ - 1892 - ], - "IChainlink": [ - 1874 - ] - }, - "id": 1893, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1867, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:9" - }, - { - "id": 1868, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:9" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1874, - "linearizedBaseContracts": [ - 1874 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1873, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1869, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:9" - }, - "returnParameters": { - "id": 1872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1871, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1873, - "src": "211:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:9" - }, - "scope": 1874, - "src": "164:56:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1893, - "src": "137:85:9" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1892, - "linearizedBaseContracts": [ - 1892 - ], - "name": "ChainlinkSNXUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1877, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1892, - "src": "316:69:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "316:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307844433345413934434430414332376439413836433138303039316537663738433638336433363939", - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:42:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699" - }, - "visibility": "public" - }, - { - "body": { - "id": 1890, - "nodeType": "Block", - "src": "444:66:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1883, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1877, - "src": "472:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1882, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "461:10:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1874_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "461:21:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1874", - "typeString": "contract IChainlink" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1873, - "src": "461:34:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "461:36:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "500:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "461:42:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1881, - "id": 1889, - "nodeType": "Return", - "src": "454:49:9" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1891, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1878, - "nodeType": "ParameterList", - "parameters": [], - "src": "409:2:9" - }, - "returnParameters": { - "id": 1881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1891, - "src": "435:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "435:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "434:9:9" - }, - "scope": 1892, - "src": "392:118:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1893, - "src": "268:244:9" - } - ], - "src": "78:435:9" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.506Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkWBTCUSDCPriceOracleProxy.json b/build-v1/contracts/ChainlinkWBTCUSDCPriceOracleProxy.json deleted file mode 100644 index 4668d37..0000000 --- a/build-v1/contracts/ChainlinkWBTCUSDCPriceOracleProxy.json +++ /dev/null @@ -1,896 +0,0 @@ -{ - "contractName": "ChainlinkWBTCUSDCPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "chainlink", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"chainlink\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkWBTCUSDCPriceOracleProxy.sol\":\"ChainlinkWBTCUSDCPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkWBTCUSDCPriceOracleProxy.sol\":{\"keccak256\":\"0x4cf5f2c16709da7d57fd12d78905b2d05fb5214435f457775f7995dfad5b4b4b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94e2acb2295b9c87c61334eb2ea3047661deca6832a3607478222a5dcac23f02\",\"dweb:/ipfs/QmQcFeei8XdiVPHCHRhQLRpBr5zVYRT8ZyhMJtgVKUHitw\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b03191673f4030086522a5beea4988f8ca5b36dbc97bee88c17905534801561003657600080fd5b5061017a806100466000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b604051610050919061013b565b60405180910390f35b610061610100565b6040516100509190610127565b60008060009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100bd57600080fd5b505afa1580156100d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f5919061010f565b6305f5e10002905090565b6000546001600160a01b031681565b600060208284031215610120578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220d469809a49a9725cd835c28c7285647482061285333dd44129abfdfd87f51d7b64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806398d5fdca1461003b5780639c3feeb714610059575b600080fd5b61004361006e565b604051610050919061013b565b60405180910390f35b610061610100565b6040516100509190610127565b60008060009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100bd57600080fd5b505afa1580156100d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f5919061010f565b6305f5e10002905090565b6000546001600160a01b031681565b600060208284031215610120578081fd5b5051919050565b6001600160a01b0391909116815260200190565b9081526020019056fea2646970667358221220d469809a49a9725cd835c28c7285647482061285333dd44129abfdfd87f51d7b64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "281:249:10:-:0;;;330:69;;;-1:-1:-1;;;;;;330:69:10;357:42;330:69;;;281:249;;;;;;;;;;;;;;;;", - "deployedSourceMap": "281:249:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;406:122;;;:::i;:::-;;;;;;;;;;;;;;;;330:69;;;:::i;:::-;;;;;;;;406:122;449:7;486:9;;;;;;;;;-1:-1:-1;;;;;486:9:10;-1:-1:-1;;;;;475:34:10;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:5;475:46;468:53;;406:122;:::o;330:69::-;;;-1:-1:-1;;;;;330:69:10;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;656:222;-1:-1;;;;;1274:54;;;;487:37;;783:2;768:18;;754:124;885:222;607:37;;;1012:2;997:18;;983:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for WBTC(decimals=8)-USDC(decimals=6) price convert\n\ncontract ChainlinkWBTCUSDCPriceOracleProxy {\n address public chainlink = 0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c;\n\n function getPrice() external view returns (uint256) {\n return IChainlink(chainlink).latestAnswer() * (10**8);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkWBTCUSDCPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkWBTCUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkWBTCUSDCPriceOracleProxy": [ - 1922 - ], - "IChainlink": [ - 1901 - ] - }, - "id": 1923, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1894, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:10" - }, - { - "id": 1895, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1901, - "linearizedBaseContracts": [ - 1901 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1900, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1896, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:10" - }, - "returnParameters": { - "id": 1899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1898, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1900, - "src": "211:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:10" - }, - "scope": 1901, - "src": "164:56:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1923, - "src": "137:85:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1922, - "linearizedBaseContracts": [ - 1922 - ], - "name": "ChainlinkWBTCUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1904, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1922, - "src": "330:69:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "330:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307846343033303038363532326135624545613439383846386341354233366462433937426545383863", - "id": 1903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:42:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c" - }, - "visibility": "public" - }, - { - "body": { - "id": 1920, - "nodeType": "Block", - "src": "458:70:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1910, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "486:9:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1909, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1901, - "src": "475:10:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1901_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "475:21:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1901", - "typeString": "contract IChainlink" - } - }, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1900, - "src": "475:34:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "475:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 1916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "515:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 1915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "519:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "515:5:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - } - ], - "id": 1917, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "514:7:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "475:46:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1908, - "id": 1919, - "nodeType": "Return", - "src": "468:53:10" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1905, - "nodeType": "ParameterList", - "parameters": [], - "src": "423:2:10" - }, - "returnParameters": { - "id": 1908, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1907, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1921, - "src": "449:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "449:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "448:9:10" - }, - "scope": 1922, - "src": "406:122:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1923, - "src": "281:249:10" - } - ], - "src": "78:453:10" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkWBTCUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkWBTCUSDCPriceOracleProxy": [ - 1922 - ], - "IChainlink": [ - 1901 - ] - }, - "id": 1923, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1894, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:10" - }, - { - "id": 1895, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1901, - "linearizedBaseContracts": [ - 1901 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1900, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1896, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:10" - }, - "returnParameters": { - "id": 1899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1898, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1900, - "src": "211:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:10" - }, - "scope": 1901, - "src": "164:56:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1923, - "src": "137:85:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1922, - "linearizedBaseContracts": [ - 1922 - ], - "name": "ChainlinkWBTCUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9c3feeb7", - "id": 1904, - "mutability": "mutable", - "name": "chainlink", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1922, - "src": "330:69:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "330:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307846343033303038363532326135624545613439383846386341354233366462433937426545383863", - "id": 1903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:42:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c" - }, - "visibility": "public" - }, - { - "body": { - "id": 1920, - "nodeType": "Block", - "src": "458:70:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1910, - "name": "chainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "486:9:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1909, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1901, - "src": "475:10:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1901_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "475:21:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1901", - "typeString": "contract IChainlink" - } - }, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1900, - "src": "475:34:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "475:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 1916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "515:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 1915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "519:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "515:5:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - } - ], - "id": 1917, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "514:7:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "475:46:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1908, - "id": 1919, - "nodeType": "Return", - "src": "468:53:10" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1905, - "nodeType": "ParameterList", - "parameters": [], - "src": "423:2:10" - }, - "returnParameters": { - "id": 1908, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1907, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1921, - "src": "449:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "449:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "448:9:10" - }, - "scope": 1922, - "src": "406:122:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1923, - "src": "281:249:10" - } - ], - "src": "78:453:10" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.506Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ChainlinkYFIUSDCPriceOracleProxy.json b/build-v1/contracts/ChainlinkYFIUSDCPriceOracleProxy.json deleted file mode 100644 index b0c8884..0000000 --- a/build-v1/contracts/ChainlinkYFIUSDCPriceOracleProxy.json +++ /dev/null @@ -1,1573 +0,0 @@ -{ - "contractName": "ChainlinkYFIUSDCPriceOracleProxy", - "abi": [ - { - "inputs": [], - "name": "EthUsd", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "yfiEth", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"EthUsd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"yfiEth\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol\":\"ChainlinkYFIUSDCPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol\":{\"keccak256\":\"0x968af1e723a96686c3835fe68dbdbe21684935743b1639a9342aa5021c2e0c88\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e358426ab8ef57cc2647d8a7d40a876e9e8f81fc69b16b5a298659024894a808\",\"dweb:/ipfs/QmQQkhg9rajRi9Xg6rwbMV8swyC8kjT2ukb34EL2tMr3EG\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b0319908116737c5d4f8345e66f68099581db340cd65b078c41f41790915560018054909116735f4ec3df9cbd43714fe2740f5e3616155c5b841917905534801561005857600080fd5b5061030c806100686000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806328737ae51461004657806398d5fdca14610064578063f57689d514610079575b600080fd5b61004e610081565b60405161005b919061026e565b60405180910390f35b61006c610090565b60405161005b91906102cd565b61004e6101c9565b6000546001600160a01b031681565b60008054604080516350d25bcd60e01b8152905183926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100d557600080fd5b505afa1580156100e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010d9190610256565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015f57600080fd5b505afa158015610173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101979190610256565b90506101c268056bc75e2d631000006101b6848463ffffffff6101d816565b9063ffffffff61022416565b9250505090565b6001546001600160a01b031681565b6000826101e75750600061021e565b828202828482816101f457fe5b041461021b5760405162461bcd60e51b8152600401610212906102aa565b60405180910390fd5b90505b92915050565b60008082116102455760405162461bcd60e51b815260040161021290610282565b81838161024e57fe5b049392505050565b600060208284031215610267578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b9081526020019056fea2646970667358221220ba7fbf63c00d658b8e32971f1efb1a92bbde656ec5df1ec5e928c1fe6330c26f64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806328737ae51461004657806398d5fdca14610064578063f57689d514610079575b600080fd5b61004e610081565b60405161005b919061026e565b60405180910390f35b61006c610090565b60405161005b91906102cd565b61004e6101c9565b6000546001600160a01b031681565b60008054604080516350d25bcd60e01b8152905183926001600160a01b0316916350d25bcd916004808301926020929190829003018186803b1580156100d557600080fd5b505afa1580156100e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010d9190610256565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015f57600080fd5b505afa158015610173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101979190610256565b90506101c268056bc75e2d631000006101b6848463ffffffff6101d816565b9063ffffffff61022416565b9250505090565b6001546001600160a01b031681565b6000826101e75750600061021e565b828202828482816101f457fe5b041461021b5760405162461bcd60e51b8152600401610212906102aa565b60405180910390fd5b90505b92915050565b60008082116102455760405162461bcd60e51b815260040161021290610282565b81838161024e57fe5b049392505050565b600060208284031215610267578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b9081526020019056fea2646970667358221220ba7fbf63c00d658b8e32971f1efb1a92bbde656ec5df1ec5e928c1fe6330c26f64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "315:474:11:-:0;;;396:66;;;-1:-1:-1;;;;;;396:66:11;;;420:42;396:66;;;;;468;;;;;492:42;468:66;;;315:474;;;;;;;;;;;;;;;;", - "deployedSourceMap": "315:474:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;396:66;;;:::i;:::-;;;;;;;;;;;;;;;;541:246;;;:::i;:::-;;;;;;;;468:66;;;:::i;396:::-;;;-1:-1:-1;;;;;396:66:11;;:::o;541:246::-;584:7;636:6;;625:33;;;-1:-1:-1;;;625:33:11;;;;584:7;;-1:-1:-1;;;;;636:6:11;;625:31;;:33;;;;;;;;;;;;;;636:6;625:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:55;;668:19;701:6;;;;;;;;;-1:-1:-1;;;;;701:6:11;-1:-1:-1;;;;;690:31:11;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;668:55;-1:-1:-1;740:40:11;773:6;740:28;:11;668:55;740:28;:15;:28;:::i;:::-;:32;:40;:32;:40;:::i;:::-;733:47;;;;541:246;:::o;468:66::-;;;-1:-1:-1;;;;;468:66:11;;:::o;281:217:41:-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;;;;;;;;;;490:1;-1:-1:-1;281:217:41;;;;;:::o;504:138::-;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;1296:222;-1:-1;;;;;2932:54;;;;487:37;;1423:2;1408:18;;1394:124;1525:416;1725:2;1739:47;;;761:2;1710:18;;;2704:19;-1:-1;;;2744:14;;;777:37;833:12;;;1696:245;1948:416;2148:2;2162:47;;;1084:1;2133:18;;;2704:19;-1:-1;;;2744:14;;;1099:32;1150:12;;;2119:245;2371:222;1247:37;;;2498:2;2483:18;;2469:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for YFI-USDC(decimals=6) price convert\n\ncontract ChainlinkYFIUSDCPriceOracleProxy {\n using SafeMath for uint256;\n\n address public yfiEth = 0x7c5d4F8345e66f68099581Db340cd65B078C41f4;\n address public EthUsd = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419;\n\n function getPrice() external view returns (uint256) {\n uint256 yfiEthPrice = IChainlink(yfiEth).latestAnswer();\n uint256 EthUsdPrice = IChainlink(EthUsd).latestAnswer();\n return yfiEthPrice.mul(EthUsdPrice).div(10**20);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkYFIUSDCPriceOracleProxy": [ - 1975 - ], - "IChainlink": [ - 1933 - ] - }, - "id": 1976, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1924, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:11" - }, - { - "id": 1925, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:11" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 1927, - "nodeType": "ImportDirective", - "scope": 1976, - "sourceUnit": 11624, - "src": "136:45:11", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1926, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1933, - "linearizedBaseContracts": [ - 1933 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1932, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1928, - "nodeType": "ParameterList", - "parameters": [], - "src": "232:2:11" - }, - "returnParameters": { - "id": 1931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1930, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1932, - "src": "258:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "258:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "257:9:11" - }, - "scope": 1933, - "src": "211:56:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "184:85:11" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1975, - "linearizedBaseContracts": [ - 1975 - ], - "name": "ChainlinkYFIUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1936, - "libraryName": { - "contractScope": null, - "id": 1934, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "369:8:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "363:27:11", - "typeName": { - "id": 1935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "28737ae5", - "id": 1939, - "mutability": "mutable", - "name": "yfiEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "396:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "396:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837633564344638333435653636663638303939353831446233343063643635423037384334316634", - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "420:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x7c5d4F8345e66f68099581Db340cd65B078C41f4" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f57689d5", - "id": 1942, - "mutability": "mutable", - "name": "EthUsd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "468:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663465433344663963626434333731344645323734306635453336313631353563356238343139", - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" - }, - "visibility": "public" - }, - { - "body": { - "id": 1973, - "nodeType": "Block", - "src": "593:194:11", - "statements": [ - { - "assignments": [ - 1948 - ], - "declarations": [ - { - "constant": false, - "id": 1948, - "mutability": "mutable", - "name": "yfiEthPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "603:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "603:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1954, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1950, - "name": "yfiEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "636:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1949, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "625:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "625:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "603:55:11" - }, - { - "assignments": [ - 1956 - ], - "declarations": [ - { - "constant": false, - "id": 1956, - "mutability": "mutable", - "name": "EthUsdPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "668:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1962, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1958, - "name": "EthUsd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "701:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1957, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "690:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "690:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "668:55:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "777:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "773:6:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1965, - "name": "EthUsdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1956, - "src": "756:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1963, - "name": "yfiEthPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1948, - "src": "740:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "740:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:28:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "740:32:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:40:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1946, - "id": 1972, - "nodeType": "Return", - "src": "733:47:11" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1943, - "nodeType": "ParameterList", - "parameters": [], - "src": "558:2:11" - }, - "returnParameters": { - "id": 1946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1945, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1974, - "src": "584:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "584:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "583:9:11" - }, - "scope": 1975, - "src": "541:246:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "315:474:11" - } - ], - "src": "78:712:11" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkYFIUSDCPriceOracleProxy": [ - 1975 - ], - "IChainlink": [ - 1933 - ] - }, - "id": 1976, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1924, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:11" - }, - { - "id": 1925, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:11" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 1927, - "nodeType": "ImportDirective", - "scope": 1976, - "sourceUnit": 11624, - "src": "136:45:11", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1926, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1933, - "linearizedBaseContracts": [ - 1933 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1932, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1928, - "nodeType": "ParameterList", - "parameters": [], - "src": "232:2:11" - }, - "returnParameters": { - "id": 1931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1930, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1932, - "src": "258:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "258:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "257:9:11" - }, - "scope": 1933, - "src": "211:56:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "184:85:11" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1975, - "linearizedBaseContracts": [ - 1975 - ], - "name": "ChainlinkYFIUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1936, - "libraryName": { - "contractScope": null, - "id": 1934, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "369:8:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "363:27:11", - "typeName": { - "id": 1935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "28737ae5", - "id": 1939, - "mutability": "mutable", - "name": "yfiEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "396:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "396:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837633564344638333435653636663638303939353831446233343063643635423037384334316634", - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "420:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x7c5d4F8345e66f68099581Db340cd65B078C41f4" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f57689d5", - "id": 1942, - "mutability": "mutable", - "name": "EthUsd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "468:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663465433344663963626434333731344645323734306635453336313631353563356238343139", - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" - }, - "visibility": "public" - }, - { - "body": { - "id": 1973, - "nodeType": "Block", - "src": "593:194:11", - "statements": [ - { - "assignments": [ - 1948 - ], - "declarations": [ - { - "constant": false, - "id": 1948, - "mutability": "mutable", - "name": "yfiEthPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "603:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "603:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1954, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1950, - "name": "yfiEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "636:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1949, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "625:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "625:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "603:55:11" - }, - { - "assignments": [ - 1956 - ], - "declarations": [ - { - "constant": false, - "id": 1956, - "mutability": "mutable", - "name": "EthUsdPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "668:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1962, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1958, - "name": "EthUsd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "701:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1957, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "690:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "690:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "668:55:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "777:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "773:6:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1965, - "name": "EthUsdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1956, - "src": "756:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1963, - "name": "yfiEthPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1948, - "src": "740:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "740:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:28:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "740:32:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:40:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1946, - "id": 1972, - "nodeType": "Return", - "src": "733:47:11" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1943, - "nodeType": "ParameterList", - "parameters": [], - "src": "558:2:11" - }, - "returnParameters": { - "id": 1946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1945, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1974, - "src": "584:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "584:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "583:9:11" - }, - "scope": 1975, - "src": "541:246:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "315:474:11" - } - ], - "src": "78:712:11" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.507Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/CloneFactory.json b/build-v1/contracts/CloneFactory.json deleted file mode 100644 index 5d37b04..0000000 --- a/build-v1/contracts/CloneFactory.json +++ /dev/null @@ -1,1281 +0,0 @@ -{ - "contractName": "CloneFactory", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prototype", - "type": "address" - } - ], - "name": "clone", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prototype\",\"type\":\"address\"}],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol\":\"CloneFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol\":{\"keccak256\":\"0x343dc91fe46604d9dc7583e4b969d7dbd2bcba68166bef4e608a85145e7735cc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2751f30bf5bc54890d68fd6e609dea0cc5ddc08aaa928829bffda71065e66715\",\"dweb:/ipfs/QmdtAmwxpdx8VAHFKkrEPazLJmpWj1dSv2Krdd7F3uauH9\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50610118806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638124b78e14602d575b600080fd5b603c603836600460a2565b6050565b6040516047919060ce565b60405180910390f35b6000808260601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f0949350505050565b60006020828403121560b2578081fd5b81356001600160a01b038116811460c7578182fd5b9392505050565b6001600160a01b039190911681526020019056fea264697066735822122083d2cc9c947b08921b671bd416b961f22b420b13338e99f5519208d7388580a564736f6c63430006090033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638124b78e14602d575b600080fd5b603c603836600460a2565b6050565b6040516047919060ce565b60405180910390f35b6000808260601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f0949350505050565b60006020828403121560b2578081fd5b81356001600160a01b038116811460c7578182fd5b9392505050565b6001600160a01b039190911681526020019056fea264697066735822122083d2cc9c947b08921b671bd416b961f22b420b13338e99f5519208d7388580a564736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "408:607:12:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "408:607:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:560;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;514:13;539:19;569:9;561:18;;539:40;;631:4;625:11;-1:-1:-1;;;656:5:12;649:81;768:11;761:4;754:5;750:16;743:37;-1:-1:-1;;;828:4:12;821:5;817:16;793:138;970:4;963:5;960:1;953:22;944:31;453:560;-1:-1:-1;;;;453:560:12:o;142:241:-1:-;;246:2;234:9;225:7;221:23;217:32;214:2;;;-1:-1;;252:12;214:2;72:20;;-1:-1;;;;;899:54;;1024:35;;1014:2;;-1:-1;;1063:12;1014:2;304:63;208:175;-1:-1;;;208:175;510:222;-1:-1;;;;;899:54;;;;461:37;;637:2;622:18;;608:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\ninterface ICloneFactory {\n function clone(address prototype) external returns (address proxy);\n}\n\n// introduction of proxy mode design: https://docs.openzeppelin.com/upgrades/2.8/\n// minimum implementation of transparent proxy: https://eips.ethereum.org/EIPS/eip-1167\n\ncontract CloneFactory is ICloneFactory {\n function clone(address prototype) external override returns (address proxy) {\n bytes20 targetBytes = bytes20(prototype);\n assembly {\n let clone := mload(0x40)\n mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\n mstore(add(clone, 0x14), targetBytes)\n mstore(\n add(clone, 0x28),\n 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000\n )\n proxy := create(0, clone, 0x37)\n }\n return proxy;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "exportedSymbols": { - "CloneFactory": [ - 2008 - ], - "ICloneFactory": [ - 1986 - ] - }, - "id": 2009, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1977, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:12" - }, - { - "id": 1978, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1986, - "linearizedBaseContracts": [ - 1986 - ], - "name": "ICloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "8124b78e", - "id": 1985, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1980, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "181:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "181:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "180:19:12" - }, - "returnParameters": { - "id": 1984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1983, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "218:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "217:15:12" - }, - "scope": 1986, - "src": "166:67:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "136:99:12" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1987, - "name": "ICloneFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1986, - "src": "433:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ICloneFactory_$1986", - "typeString": "contract ICloneFactory" - } - }, - "id": 1988, - "nodeType": "InheritanceSpecifier", - "src": "433:13:12" - } - ], - "contractDependencies": [ - 1986 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2008, - "linearizedBaseContracts": [ - 2008, - 1986 - ], - "name": "CloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1985 - ], - "body": { - "id": 2006, - "nodeType": "Block", - "src": "529:484:12", - "statements": [ - { - "assignments": [ - 1997 - ], - "declarations": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "targetBytes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2006, - "src": "539:19:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - "typeName": { - "id": 1996, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "539:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2002, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2000, - "name": "prototype", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "569:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes20_$", - "typeString": "type(bytes20)" - }, - "typeName": { - "id": 1998, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:40:12" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "598:387:12", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "612:24:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "631:4:12", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "625:5:12" - }, - "nodeType": "YulFunctionCall", - "src": "625:11:12" - }, - "variables": [ - { - "name": "clone", - "nodeType": "YulTypedName", - "src": "616:5:12", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "656:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "663:66:12", - "type": "", - "value": "0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "649:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "649:81:12" - }, - "nodeType": "YulExpressionStatement", - "src": "649:81:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "754:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "761:4:12", - "type": "", - "value": "0x14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "750:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "750:16:12" - }, - { - "name": "targetBytes", - "nodeType": "YulIdentifier", - "src": "768:11:12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "743:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "743:37:12" - }, - "nodeType": "YulExpressionStatement", - "src": "743:37:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "821:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "828:4:12", - "type": "", - "value": "0x28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "817:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "817:16:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "851:66:12", - "type": "", - "value": "0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "793:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "793:138:12" - }, - "nodeType": "YulExpressionStatement", - "src": "793:138:12" - }, - { - "nodeType": "YulAssignment", - "src": "944:31:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "960:1:12", - "type": "", - "value": "0" - }, - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "963:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "970:4:12", - "type": "", - "value": "0x37" - } - ], - "functionName": { - "name": "create", - "nodeType": "YulIdentifier", - "src": "953:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "953:22:12" - }, - "variableNames": [ - { - "name": "proxy", - "nodeType": "YulIdentifier", - "src": "944:5:12" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 1994, - "isOffset": false, - "isSlot": false, - "src": "944:5:12", - "valueSize": 1 - }, - { - "declaration": 1997, - "isOffset": false, - "isSlot": false, - "src": "768:11:12", - "valueSize": 1 - } - ], - "id": 2003, - "nodeType": "InlineAssembly", - "src": "589:396:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2004, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "1001:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1995, - "id": 2005, - "nodeType": "Return", - "src": "994:12:12" - } - ] - }, - "documentation": null, - "functionSelector": "8124b78e", - "id": 2007, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1992, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "496:8:12" - }, - "parameters": { - "id": 1991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1990, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "468:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:19:12" - }, - "returnParameters": { - "id": 1995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "514:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:15:12" - }, - "scope": 2008, - "src": "453:560:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "408:607:12" - } - ], - "src": "78:938:12" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "exportedSymbols": { - "CloneFactory": [ - 2008 - ], - "ICloneFactory": [ - 1986 - ] - }, - "id": 2009, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1977, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:12" - }, - { - "id": 1978, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1986, - "linearizedBaseContracts": [ - 1986 - ], - "name": "ICloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "8124b78e", - "id": 1985, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1980, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "181:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "181:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "180:19:12" - }, - "returnParameters": { - "id": 1984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1983, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "218:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "217:15:12" - }, - "scope": 1986, - "src": "166:67:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "136:99:12" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1987, - "name": "ICloneFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1986, - "src": "433:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ICloneFactory_$1986", - "typeString": "contract ICloneFactory" - } - }, - "id": 1988, - "nodeType": "InheritanceSpecifier", - "src": "433:13:12" - } - ], - "contractDependencies": [ - 1986 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2008, - "linearizedBaseContracts": [ - 2008, - 1986 - ], - "name": "CloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1985 - ], - "body": { - "id": 2006, - "nodeType": "Block", - "src": "529:484:12", - "statements": [ - { - "assignments": [ - 1997 - ], - "declarations": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "targetBytes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2006, - "src": "539:19:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - "typeName": { - "id": 1996, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "539:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2002, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2000, - "name": "prototype", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "569:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes20_$", - "typeString": "type(bytes20)" - }, - "typeName": { - "id": 1998, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:40:12" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "598:387:12", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "612:24:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "631:4:12", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "625:5:12" - }, - "nodeType": "YulFunctionCall", - "src": "625:11:12" - }, - "variables": [ - { - "name": "clone", - "nodeType": "YulTypedName", - "src": "616:5:12", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "656:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "663:66:12", - "type": "", - "value": "0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "649:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "649:81:12" - }, - "nodeType": "YulExpressionStatement", - "src": "649:81:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "754:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "761:4:12", - "type": "", - "value": "0x14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "750:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "750:16:12" - }, - { - "name": "targetBytes", - "nodeType": "YulIdentifier", - "src": "768:11:12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "743:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "743:37:12" - }, - "nodeType": "YulExpressionStatement", - "src": "743:37:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "821:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "828:4:12", - "type": "", - "value": "0x28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "817:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "817:16:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "851:66:12", - "type": "", - "value": "0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "793:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "793:138:12" - }, - "nodeType": "YulExpressionStatement", - "src": "793:138:12" - }, - { - "nodeType": "YulAssignment", - "src": "944:31:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "960:1:12", - "type": "", - "value": "0" - }, - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "963:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "970:4:12", - "type": "", - "value": "0x37" - } - ], - "functionName": { - "name": "create", - "nodeType": "YulIdentifier", - "src": "953:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "953:22:12" - }, - "variableNames": [ - { - "name": "proxy", - "nodeType": "YulIdentifier", - "src": "944:5:12" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 1994, - "isOffset": false, - "isSlot": false, - "src": "944:5:12", - "valueSize": 1 - }, - { - "declaration": 1997, - "isOffset": false, - "isSlot": false, - "src": "768:11:12", - "valueSize": 1 - } - ], - "id": 2003, - "nodeType": "InlineAssembly", - "src": "589:396:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2004, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "1001:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1995, - "id": 2005, - "nodeType": "Return", - "src": "994:12:12" - } - ] - }, - "documentation": null, - "functionSelector": "8124b78e", - "id": 2007, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1992, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "496:8:12" - }, - "parameters": { - "id": 1991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1990, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "468:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:19:12" - }, - "returnParameters": { - "id": 1995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "514:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:15:12" - }, - "scope": 2008, - "src": "453:560:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "408:607:12" - } - ], - "src": "78:938:12" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.508Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ConstOracle.json b/build-v1/contracts/ConstOracle.json deleted file mode 100644 index d49e38a..0000000 --- a/build-v1/contracts/ConstOracle.json +++ /dev/null @@ -1,607 +0,0 @@ -{ - "contractName": "ConstOracle", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ConstOracle.sol\":\"ConstOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ConstOracle.sol\":{\"keccak256\":\"0x135f4a8c2768de7c0889f1ec0040ccef60cc9366c7174adb28ce23f1105d0b84\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d584bbc06b0b4b06d139ca5169ce0a11e137f89606aa76c0dd6f7ef0c2b7a809\",\"dweb:/ipfs/QmfEvU1dvU6j7brDDEVLXBwoP5gwxjr6kfazGvXocBTXTR\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506040516100ff3803806100ff83398101604081905261002f91610037565b60005561004f565b600060208284031215610048578081fd5b5051919050565b60a28061005d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80637ff9b59614603757806398d5fdca146051575b600080fd5b603d6057565b604051604891906063565b60405180910390f35b603d605d565b60005481565b60005490565b9081526020019056fea2646970667358221220983b3926be425c261897fcc5f62f15dd5763108fb7819b19ba891e32c578a13464736f6c63430006090033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c80637ff9b59614603757806398d5fdca146051575b600080fd5b603d6057565b604051604891906063565b60405180910390f35b603d605d565b60005481565b60005490565b9081526020019056fea2646970667358221220983b3926be425c261897fcc5f62f15dd5763108fb7819b19ba891e32c578a13464736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "137:224:13:-:0;;;196:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;241:10;:19;137:224;;146:263:-1;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;;137:224:13;;;;;;", - "deployedSourceMap": "137:224:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:25;;;:::i;:::-;;;;;;;;;;;;;;;;273:86;;;:::i;164:25::-;;;;:::o;273:86::-;316:7;342:10;273:86;:::o;125:222:-1:-;76:37;;;252:2;237:18;;223:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ncontract ConstOracle {\n uint256 public tokenPrice;\n\n constructor(uint256 _price) public {\n tokenPrice = _price;\n }\n\n function getPrice() external view returns (uint256) {\n return tokenPrice;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ConstOracle.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ConstOracle.sol", - "exportedSymbols": { - "ConstOracle": [ - 2032 - ] - }, - "id": 2033, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2010, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:13" - }, - { - "id": 2011, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:13" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2032, - "linearizedBaseContracts": [ - 2032 - ], - "name": "ConstOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 2013, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2032, - "src": "164:25:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "164:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2022, - "nodeType": "Block", - "src": "231:36:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2018, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "241:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2019, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2015, - "src": "254:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "241:19:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2021, - "nodeType": "ExpressionStatement", - "src": "241:19:13" - } - ] - }, - "documentation": null, - "id": 2023, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2015, - "mutability": "mutable", - "name": "_price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2023, - "src": "208:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "208:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "207:16:13" - }, - "returnParameters": { - "id": 2017, - "nodeType": "ParameterList", - "parameters": [], - "src": "231:0:13" - }, - "scope": 2032, - "src": "196:71:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2030, - "nodeType": "Block", - "src": "325:34:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2028, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "342:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2027, - "id": 2029, - "nodeType": "Return", - "src": "335:17:13" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2031, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2024, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:13" - }, - "returnParameters": { - "id": 2027, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2026, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2031, - "src": "316:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:13" - }, - "scope": 2032, - "src": "273:86:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2033, - "src": "137:224:13" - } - ], - "src": "78:284:13" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ConstOracle.sol", - "exportedSymbols": { - "ConstOracle": [ - 2032 - ] - }, - "id": 2033, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2010, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:13" - }, - { - "id": 2011, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:13" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2032, - "linearizedBaseContracts": [ - 2032 - ], - "name": "ConstOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 2013, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2032, - "src": "164:25:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "164:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2022, - "nodeType": "Block", - "src": "231:36:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2018, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "241:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2019, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2015, - "src": "254:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "241:19:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2021, - "nodeType": "ExpressionStatement", - "src": "241:19:13" - } - ] - }, - "documentation": null, - "id": 2023, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2015, - "mutability": "mutable", - "name": "_price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2023, - "src": "208:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "208:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "207:16:13" - }, - "returnParameters": { - "id": 2017, - "nodeType": "ParameterList", - "parameters": [], - "src": "231:0:13" - }, - "scope": 2032, - "src": "196:71:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2030, - "nodeType": "Block", - "src": "325:34:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2028, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "342:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2027, - "id": 2029, - "nodeType": "Return", - "src": "335:17:13" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2031, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2024, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:13" - }, - "returnParameters": { - "id": 2027, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2026, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2031, - "src": "316:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:13" - }, - "scope": 2032, - "src": "273:86:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2033, - "src": "137:224:13" - } - ], - "src": "78:284:13" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.509Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODO.json b/build-v1/contracts/DODO.json deleted file mode 100644 index 839079b..0000000 --- a/build-v1/contracts/DODO.json +++ /dev/null @@ -1,5964 +0,0 @@ -{ - "contractName": "DODO", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payQuote", - "type": "uint256" - } - ], - "name": "BuyBaseToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "maintainer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ChargeMaintainerFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ChargePenalty", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "baseTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteTokenAmount", - "type": "uint256" - } - ], - "name": "ClaimAssets", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenAmount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - } - ], - "name": "Donate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "seller", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveQuote", - "type": "uint256" - } - ], - "name": "SellBaseToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldGasPriceLimit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newGasPriceLimit", - "type": "uint256" - } - ], - "name": "UpdateGasPriceLimit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldK", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newK", - "type": "uint256" - } - ], - "name": "UpdateK", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldLiquidityProviderFeeRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newLiquidityProviderFeeRate", - "type": "uint256" - } - ], - "name": "UpdateLiquidityProviderFeeRate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldMaintainerFeeRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newMaintainerFeeRate", - "type": "uint256" - } - ], - "name": "UpdateMaintainerFeeRate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenAmount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxPayQuote", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "buyBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimAssets", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableBaseDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableBuying", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableQuoteDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableSelling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "disableTrading", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateBaseToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateQuoteToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableBaseDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableBuying", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableQuoteDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableSelling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enableTrading", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finalSettlement", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedTarget", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTarget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteTarget", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getLpBaseBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "lpBalance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getLpQuoteBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "lpBalance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMidPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "midPrice", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "getWithdrawBasePenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "getWithdrawQuotePenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "queryBuyBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "payQuote", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "querySellBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "receiveQuote", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "retrieve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minReceiveQuote", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "sellBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newBaseBalanceLimit", - "type": "uint256" - } - ], - "name": "setBaseBalanceLimit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newGasPriceLimit", - "type": "uint256" - } - ], - "name": "setGasPriceLimit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newK", - "type": "uint256" - } - ], - "name": "setK", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newLiquidityPorviderFeeRate", - "type": "uint256" - } - ], - "name": "setLiquidityProviderFeeRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newMaintainer", - "type": "address" - } - ], - "name": "setMaintainer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newMaintainerFeeRate", - "type": "uint256" - } - ], - "name": "setMaintainerFeeRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOracle", - "type": "address" - } - ], - "name": "setOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newQuoteBalanceLimit", - "type": "uint256" - } - ], - "name": "setQuoteBalanceLimit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newSupervisor", - "type": "address" - } - ], - "name": "setSupervisor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAllBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdrawAllBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAllQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdrawAllQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "supervisor", - "type": "address" - }, - { - "internalType": "address", - "name": "maintainer", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "quoteToken", - "type": "address" - }, - { - "internalType": "address", - "name": "oracle", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mtFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "k", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPriceLimit", - "type": "uint256" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveBase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"name\":\"BuyBaseToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ChargeMaintainerFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ChargePenalty\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quoteTokenAmount\",\"type\":\"uint256\"}],\"name\":\"ClaimAssets\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"}],\"name\":\"Donate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payBase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"name\":\"SellBaseToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldGasPriceLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newGasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"UpdateGasPriceLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldK\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newK\",\"type\":\"uint256\"}],\"name\":\"UpdateK\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLiquidityProviderFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLiquidityProviderFeeRate\",\"type\":\"uint256\"}],\"name\":\"UpdateLiquidityProviderFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMaintainerFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaintainerFeeRate\",\"type\":\"uint256\"}],\"name\":\"UpdateMaintainerFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPayQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"buyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableBaseDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableBuying\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableQuoteDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableSelling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableTrading\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateBaseToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateQuoteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableBaseDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableBuying\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableQuoteDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableSelling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableTrading\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpectedTarget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseTarget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTarget\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getLpBaseBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lpBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getLpQuoteBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lpBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMidPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"midPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getWithdrawBasePenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getWithdrawQuotePenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"supervisor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mtFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"k\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"queryBuyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"querySellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"retrieve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReceiveQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBaseBalanceLimit\",\"type\":\"uint256\"}],\"name\":\"setBaseBalanceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"setGasPriceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newK\",\"type\":\"uint256\"}],\"name\":\"setK\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newLiquidityPorviderFeeRate\",\"type\":\"uint256\"}],\"name\":\"setLiquidityProviderFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newMaintainer\",\"type\":\"address\"}],\"name\":\"setMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMaintainerFeeRate\",\"type\":\"uint256\"}],\"name\":\"setMaintainerFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOracle\",\"type\":\"address\"}],\"name\":\"setOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuoteBalanceLimit\",\"type\":\"uint256\"}],\"name\":\"setQuoteBalanceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newSupervisor\",\"type\":\"address\"}],\"name\":\"setSupervisor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawAllBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawAllQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DODO\"},\"userdoc\":{\"methods\":{},\"notice\":\"Entrance for users\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol\":\"DODO\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol\":{\"keccak256\":\"0xc5fda191b60307ecf600a789c59de657f9b7ad83f3d8e905eb4d6eef15519fd8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://06da52e9af78686a9ff9d2182480f992f731ec8b3184ee8ccb7cd31a2e5c88f7\",\"dweb:/ipfs/QmbmGLkmXAzP9jqp6YjNmi1bzdnnMwo4jU6MiSH65UEHzf\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol\":{\"keccak256\":\"0x04a6c300c659e67733e5d89e709e052f0d095a5e825a467410d49ef6691fae56\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f6d4417d9c9bb16431ab7622d6e0f8e8f2233fbad1e71d6ff7971926d9470807\",\"dweb:/ipfs/QmXqLYnbs6Yuhhg9knkNx5AvZWqxkvZsVKmPUJo2j9FqtE\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol\":{\"keccak256\":\"0x93bb74398b96b44febba31ad63435edae743142088311a325215aaa34d35b512\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://0991fee8f385b3266ff39672b209906557d1be7308b5a35749f3f8453f427d2b\",\"dweb:/ipfs/Qmf8sKLSQkcniYin94QfNGc8GLMaVrLzQUq2grV5Hu7JyU\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol\":{\"keccak256\":\"0x1bbb3571a539c9098a617410934ef589e40c6a910f155c31ff0680b2d754c3a9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ec97b6eb2b09157237590eae3c7b9b34720c8cf8b392d78aa1ef41c1c543c1ed\",\"dweb:/ipfs/QmYLVFUrD3fbgHFyhWTPmqyS41SDi8kyegS4MpVMdDyr9V\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol\":{\"keccak256\":\"0xaec47be06aa7f8994923c80f2c2318304423666300a48f03a43265787f27c708\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e187f46639dd1127abc81439896e67e21338e9eee8707996606b0c9c8ede68a1\",\"dweb:/ipfs/QmPSfPbZuyM3haHZtWVFknZLAMqg2Jy613jQ36JGuCm7LS\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol\":{\"keccak256\":\"0x8167f472615dc95cf743254785eeef730a0a3b753f05f5b64391fbb9992c8ab6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e2a25e398638f4bbecf434cf9b8b608c34a1271c051ee7e411b6c2c32702439\",\"dweb:/ipfs/QmUQmysLQ1k8uBWGzsTdmGCqyWQhZ4xtzPWAfsALGWYLPh\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol\":{\"keccak256\":\"0x5646e8b46c11ec0405e6111d3ef46019235694c6940d3bc1eed20873ed545498\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cc7c25e66cec9cee54e4dbcb48b8022391f4566b94e32d5ce8fd2e278cdc7b8\",\"dweb:/ipfs/QmVR9sWfVtnEyBhEPSppidiAdE9efTe5FcEZtzfUFXcbcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol\":{\"keccak256\":\"0x229c6157d9f467f52d98634966a88fce7c7d68d1b7ee5c4897957b3bc33ee2c5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d9ca56838de93c5727da081665c37fb7e4448cc584e3ff72f5d9867775c0ee5f\",\"dweb:/ipfs/QmTVeQ8EJqnrSYsu4GU4jhaUzW9FC45fAoXKHniBNXNaZs\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":{\"keccak256\":\"0xe3f63c53706f21ad68ebeff69321682ffa83bb0552db7e4453dff9772724f657\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64e385f8c3fbe9e485d0b1b0f90f9621bf50fe02ee7cb95a44828a255db3581f\",\"dweb:/ipfs/QmNesw9cspw1fDDumDy1BSrCeGVij1BAfAVXpfajKHGUcn\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50615bc5806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620005205760003560e01c80638a8c523c11620002a9578063c59203af1162000171578063ec2fd46d11620000e1578063f2220416116200009f578063f222041614620009fe578063f2fde38b1462000a15578063f3ae6c5f1462000a2c578063f67ed4481462000a43578063f98bea151462000a5a578063ffa642251462000a715762000520565b8063ec2fd46d14620009a5578063ed0aa42814620009af578063ee27c68914620009c6578063ee5150b314620009d0578063f00f9a0914620009e75762000520565b8063d4b97046116200012f578063d4b970461462000966578063d689107c1462000970578063dd58b41c146200097a578063e67ce7061462000984578063eab5d20e146200099b5762000520565b8063c59203af1462000934578063c5bbffe8146200093e578063c6b73cf91462000948578063cc062b581462000952578063d47eaa37146200095c5762000520565b8063a3161a561162000219578063aceecbc811620001d7578063aceecbc814620008de578063b2094fd314620008e8578063bc7d679d14620008f2578063c0a5f6ff14620008fc578063c0ffa1781462000913578063c3a2a665146200091d5762000520565b8063a3161a56146200089f578063a598aca714620008a9578063aa06ce9b14620008b3578063ab44a7a314620008ca578063ac1fbc9814620008d45762000520565b8063947cf92b1162000267578063947cf92b146200083957806395faa5f6146200085057806397316ad814620008675780639b020fba146200087e578063a2801e1614620008885762000520565b80638a8c523c14620007ed5780638dae733314620007f75780638ff5e742146200080e57806390cbf82214620008185780639299eb3014620008225762000520565b806336ac41a811620003ed578063648a4fac116200035d578063796da7af116200031b578063796da7af146200078a5780637adbf97314620007945780637aed942d14620007ab5780637c9b8e8914620007c25780638456db1514620007cc578063892daf0514620007d65762000520565b8063648a4fac146200072f57806367de8be9146200073957806368be20ad14620007505780636ec6a58d146200077657806373a2ab7c14620007805762000520565b80634de4527e11620003ab5780634de4527e14620006e35780634e71e0c814620006ed57806354fd4d5014620006f75780635bb7552a14620007015780635f179f6414620007185762000520565b806336ac41a814620006a4578063387b0c1114620006ae5780633960f14214620006c55780634322ec8314620006cf5780634a248d2a14620006d95762000520565b80631769ddaa11620004955780631f3c156e11620004535780631f3c156e146200064e578063245c96851462000658578063247f993b146200066257806327bed8ee146200066c5780632aa82c65146200068357806336a53bbb146200068d5762000520565b80631769ddaa14620005f357806317700f0114620005fd57806317be952e146200060757806318c0bbe414620006205780631e34b9cc14620006375762000520565b8063108db74411620004e3578063108db74414620005985780631184d8be14620005af57806313c5762414620005b957806313ea5d2914620005c357806316048bc414620005da5762000520565b806304512dc414620005255780630923160214620005545780630c9f7bd0146200056d5780630cd1667d14620005845780630e6518e9146200058e575b600080fd5b6200053c62000536366004620041de565b62000a8b565b6040516200054b919062004afb565b60405180910390f35b6200056b62000565366004620042fb565b62000c3d565b005b6200053c6200057e366004620042fb565b62000cc2565b6200053c62000db7565b6200053c62000e3e565b6200053c620005a9366004620042ac565b62000e44565b6200056b62001067565b6200056b620010d6565b6200056b620005d4366004620041de565b62001128565b620005e462001177565b6040516200054b9190620043eb565b6200053c62001186565b6200056b6200118c565b62000611620011de565b6040516200054b9190620044b5565b6200053c62000631366004620042fb565b620011e7565b6200053c62000648366004620041de565b62001200565b6200056b62001379565b6200053c62001670565b6200056b62001676565b6200053c6200067d366004620042fb565b620016c5565b6200053c620016d9565b6200053c6200069e366004620041de565b6200171f565b6200056b62001779565b6200056b620006bf366004620042fb565b620017e8565b620005e46200184f565b620005e46200185e565b620005e46200186d565b6200053c6200187c565b6200056b62001882565b6200053c62001913565b6200056b62000712366004620042fb565b62001918565b6200053c62000729366004620042ac565b62001995565b6200056b62001af4565b6200056b6200074a366004620042fb565b62001c24565b6200076762000761366004620041de565b62001c9d565b6040516200054b91906200443c565b6200076762001cb2565b620005e462001cc2565b6200053c62001cd1565b6200056b620007a5366004620041de565b62001d17565b6200053c620007bc366004620041de565b62001d66565b6200053c62001ded565b620005e462001df3565b6200056b620007e7366004620042fb565b62001e02565b6200056b62001e61565b6200053c620008083660046200432d565b62001ed0565b620007676200218e565b6200056b6200219c565b6200056b62000833366004620041de565b62002205565b6200053c6200084a366004620042ac565b62002254565b6200053c62000861366004620041de565b62002439565b6200056b62000878366004620042fb565b6200247e565b6200053c620024dd565b6200053c62000899366004620042fb565b620024e3565b62000767620024f0565b62000767620024f9565b6200053c620008c4366004620042ac565b62002509565b6200053c6200264a565b620005e462002650565b6200056b6200265f565b6200053c620026af565b6200056b620026b5565b6200053c6200090d366004620042fb565b62002707565b6200053c62002715565b6200056b6200092e366004620042ac565b6200271b565b6200053c6200290a565b6200076762002917565b6200053c62002927565b6200056b6200292d565b6200053c62002998565b620005e4620029a5565b620005e4620029b4565b62000767620029c3565b6200053c620009953660046200432d565b620029d3565b6200053c62002c68565b6200053c62002c6e565b6200056b620009c0366004620042fb565b62002c74565b6200053c62002ccb565b6200053c620009e1366004620042fb565b62002ddc565b6200056b620009f8366004620041fc565b62002e8b565b6200056b62000a0f366004620042fb565b62003095565b6200056b62000a26366004620041de565b6200310e565b6200053c62000a3d366004620042fb565b620031bf565b6200053c62000a54366004620041de565b620031cd565b6200053c62000a6b366004620042fb565b62003200565b62000a7b6200320e565b6040516200054b92919062004b14565b600154600090600160a01b900460ff161562000ac45760405162461bcd60e51b815260040162000abb90620045d7565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000b035760405162461bcd60e51b815260040162000abb9062004862565b600062000b10336200171f565b9050600062000b1f33620031cd565b9050600062000b2e8362000cc2565b90508281111562000b535760405162461bcd60e51b815260040162000abb906200483a565b60105462000b68908463ffffffff620032e316565b60105562000b7733836200330e565b62000b948562000b8e858463ffffffff620032e316565b6200337a565b62000b9f81620033b5565b846001600160a01b0316336001600160a01b031660008051602062005b508339815191526000868660405162000bd89392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260008360405162000c0d92919062004447565b60405180910390a262000c27838263ffffffff620032e316565b6001805460ff60a01b1916905595945050505050565b6006546001600160a01b031633148062000c6157506000546001600160a01b031633145b62000c805760405162461bcd60e51b815260040162000abb90620046f6565b7f808f99cfd15f1be6019f93dc76c81d5bd82e0b3e0b3d23a54f5a2e647a6cc3cc6002548260405162000cb592919062004b14565b60405180910390a1600255565b600060125482111562000ce95760405162461bcd60e51b815260040162000abb90620044ca565b6002600e5460ff16600281111562000cfd57fe5b141562000dae57600062000d1f600f54601154620032e390919063ffffffff16565b9050600062000d2d62001cd1565b9050600062000d3d83836200340d565b9050600062000d52601254600d54846200343a565b9050600062000d7b62000d7188601254620032e390919063ffffffff16565b600d54856200343a565b905062000da162000d93828963ffffffff620034f116565b839063ffffffff620032e316565b9550505050505062000db2565b5060005b919050565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b505afa15801562000e12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e38919062004314565b90505b90565b60165481565b600154600090600160a01b900460ff161562000e745760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000eb35760405162461bcd60e51b815260040162000abb9062004862565b600062000ebf6200320e565b915050600062000ece620016d9565b90506000811162000ef35760405162461bcd60e51b815260040162000abb90620045fa565b600062000f198362000f0c878563ffffffff6200352016565b9063ffffffff6200356016565b905062000f2633620031cd565b81111562000f485760405162461bcd60e51b815260040162000abb90620046b3565b600062000f558662000cc2565b905085811062000f795760405162461bcd60e51b815260040162000abb906200483a565b60105462000f8e908763ffffffff620032e316565b60105562000f9d33836200330e565b62000fb48762000b8e888463ffffffff620032e316565b62000fbf81620033b5565b6001600160a01b0387163360008051602062005b50833981519152600062000fee8a8663ffffffff620032e316565b86604051620010009392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526000836040516200103592919062004447565b60405180910390a26200104f868263ffffffff620032e316565b6001805460ff60a01b19169055979650505050505050565b6000546001600160a01b03163314620010945760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620010c15760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c01b1916600160c01b179055565b6006546001600160a01b0316331480620010fa57506000546001600160a01b031633145b620011195760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c01b19169055565b6000546001600160a01b03163314620011555760405162461bcd60e51b815260040162000abb90620048d9565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60055481565b6006546001600160a01b0316331480620011b057506000546001600160a01b031633145b620011cf5760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c81b19169055565b600e5460ff1681565b6000620011f48262003592565b50939695505050505050565b600154600090600160a01b900460ff1615620012305760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16156200126f5760405162461bcd60e51b815260040162000abb9062004862565b60006200127c3362002439565b905060006200128b3362001d66565b905060006200129a8362002ddc565b905082811115620012bf5760405162461bcd60e51b815260040162000abb906200483a565b600f54620012d4908463ffffffff620032e316565b600f55620012e3338362003705565b6200130085620012fa858463ffffffff620032e316565b62003739565b6200130b8162003774565b846001600160a01b0316336001600160a01b031660008051602062005b5083398151915260018686604051620013449392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260018360405162000c0d92919062004447565b600154600160a01b900460ff1615620013a65760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16620013e45760405162461bcd60e51b815260040162000abb9062004aa6565b3360009081526017602052604090205460ff1615620014175760405162461bcd60e51b815260040162000abb9062004a7d565b336000818152601760205260408120805460ff19166001179055906200143d90620031cd565b905060006200144c3362001d66565b9050600082156200148a576200148762001465620016d9565b6010546200147a908663ffffffff6200352016565b9063ffffffff620037c116565b90505b60008215620014b957620014b6620014a162000db7565b600f546200147a908663ffffffff6200352016565b90505b601054620014ce908363ffffffff620032e316565b601055600f54620014e6908263ffffffff620032e316565b600f819055506200150c620014fe846015546200340d565b839063ffffffff620034f116565b91506200152e62001520856016546200340d565b829063ffffffff620034f116565b90506200153c338262003739565b6200154833836200337a565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906200157c9033908790600401620043ff565b600060405180830381600087803b1580156200159757600080fd5b505af1158015620015ac573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150620015e49033908890600401620043ff565b600060405180830381600087803b158015620015ff57600080fd5b505af115801562001614573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c4382846040516200165592919062004b14565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b6006546001600160a01b03163314806200169a57506000546001600160a01b031633145b620016b95760405162461bcd60e51b815260040162000abb90620046f6565b6003805460ff19169055565b6000620016d3338362002509565b92915050565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000806200172c620016d9565b905060006200173a6200320e565b915050816200174f5760009250505062000db2565b62001771826200147a836200176488620031cd565b9063ffffffff6200352016565b949350505050565b6000546001600160a01b03163314620017a65760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620017d35760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60b81b1916600160b81b179055565b600154600160a01b900460ff1615620018155760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b179055620018343382620037ef565b6200183f81620033b5565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b03163314620018af5760405162461bcd60e51b815260040162000abb906200451e565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314620019455760405162461bcd60e51b815260040162000abb90620048d9565b7f3ce6ea91adda496b7a0546fa6558e5b52c3a509de6015820efb00ca4020e0a07600b54826040516200197a92919062004b14565b60405180910390a1600b819055620019916200385d565b5050565b600154600090600160a01b900460ff1615620019c55760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b81b900460ff1662001a035760405162461bcd60e51b815260040162000abb90620045a0565b600062001a0f6200320e565b915050600062001a1e620016d9565b9050838162001a415762001a39858463ffffffff620034f116565b905062001a62565b821562001a625762001a5f836200147a878563ffffffff6200352016565b90505b62001a6e3386620037ef565b62001a7a8682620038f2565b60105462001a8f908663ffffffff620034f116565b6010556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906000908a90879062004457565b60405180910390a36001805460ff60a01b1916905595945050505050565b6000546001600160a01b0316331462001b215760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001b4e5760405162461bcd60e51b815260040162000abb9062004862565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600062001b7862000db7565b9050600062001b86620016d9565b9050601054601254111562001bc857600062001bb0601054601254620032e390919063ffffffff16565b905062001bbe818462003926565b6015555062001bcf565b6012546010555b600f54601154111562001c0f57600062001bf7600f54601154620032e390919063ffffffff16565b905062001c05818362003926565b6016555062001c16565b601154600f555b5050600e805460ff19169055565b6000546001600160a01b0316331462001c515760405162461bcd60e51b815260040162000abb90620048d9565b7f023a40bebf7ac113f81c3d628073246cf9e0bc49980a9d6a9531498ce9e3dd1c600d548260405162001c8692919062004b14565b60405180910390a1600d819055620019916200385d565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000546001600160a01b0316331462001d445760405162461bcd60e51b815260040162000abb90620048d9565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6013546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b60206040518083038186803b15801562001db257600080fd5b505afa15801562001dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016d3919062004314565b60125481565b6001546001600160a01b031681565b6000546001600160a01b0316331462001e2f5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001e5c5760405162461bcd60e51b815260040162000abb9062004862565b600455565b6000546001600160a01b0316331462001e8e5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001ebb5760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c81b1916600160c81b179055565b600154600090600160c81b900460ff1662001eff5760405162461bcd60e51b815260040162000abb90620047e8565b600354610100900460ff1662001f295760405162461bcd60e51b815260040162000abb9062004887565b6002543a111562001f4e5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562001f7b5760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062001fa08b62003947565b9550955095509550955095508986101562001fcf5760405162461bcd60e51b815260040162000abb90620049ab565b62001fdb33876200337a565b8715620020455760405163301bc67560e11b815233906360378cea9062002010906000908f908b908f908f906004016200446f565b600060405180830381600087803b1580156200202b57600080fd5b505af115801562002040573d6000803e3d6000fd5b505050505b62002051338c62003ac0565b8315620020bd5760075462002070906001600160a01b0316856200337a565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe90620020b490600090889062004447565b60405180910390a25b8160105414620020cd5760108290555b80600f5414620020dd57600f8190555b826002811115620020ea57fe5b600e5460ff166002811115620020fc57fe5b146200212257600e805484919060ff191660018360028111156200211c57fe5b02179055505b6200212d85620033b5565b336001600160a01b03167fd8648b6ac54162763c86fd54bf2005af8ecd2f9cb273a5775921fd7f91e17b2d8c886040516200216a92919062004b14565b60405180910390a250506001805460ff60a01b191690555091979650505050505050565b600354610100900460ff1681565b6000546001600160a01b03163314620021c95760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620021f65760405162461bcd60e51b815260040162000abb9062004862565b6003805460ff19166001179055565b6000546001600160a01b03163314620022325760405162461bcd60e51b815260040162000abb90620048d9565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600154600090600160a01b900460ff1615620022845760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615620022c35760405162461bcd60e51b815260040162000abb9062004862565b6000620022cf6200320e565b5090506000620022de62000db7565b905060008111620023035760405162461bcd60e51b815260040162000abb9062004545565b60006200231c8362000f0c878563ffffffff6200352016565b9050620023293362001d66565b8111156200234b5760405162461bcd60e51b815260040162000abb9062004969565b6000620023588662002ddc565b9050858111156200237d5760405162461bcd60e51b815260040162000abb906200483a565b600f5462002392908763ffffffff620032e316565b600f55620023a1338362003705565b620023b887620012fa888463ffffffff620032e316565b620023c38162003774565b6001600160a01b0387163360008051602062005b508339815191526001620023f28a8663ffffffff620032e316565b86604051620024049392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526001836040516200103592919062004447565b6000806200244662000db7565b90506000620024546200320e565b50905081620024695760009250505062000db2565b62001771826200147a83620017648862001d66565b6000546001600160a01b03163314620024ab5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620024d85760405162461bcd60e51b815260040162000abb9062004862565b600555565b60045481565b6000620011f48262003947565b60035460ff1681565b600154600160c01b900460ff1681565b600154600090600160a01b900460ff1615620025395760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160c01b900460ff16620025775760405162461bcd60e51b815260040162000abb9062004569565b6000620025836200320e565b50905060006200259262000db7565b90508381620025b557620025ad858463ffffffff620034f116565b9050620025d6565b8215620025d657620025d3836200147a878563ffffffff6200352016565b90505b620025e2338662003ac0565b620025ee868262003b2e565b600f5462002603908663ffffffff620034f116565b600f556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906001908a90879062004457565b600b5481565b6014546001600160a01b031681565b6006546001600160a01b03163314806200268357506000546001600160a01b031633145b620026a25760405162461bcd60e51b815260040162000abb90620046f6565b6003805461ff0019169055565b600f5481565b6006546001600160a01b0316331480620026d957506000546001600160a01b031633145b620026f85760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60b81b19169055565b6000620016d3338362000e44565b600c5481565b6000546001600160a01b03163314620027485760405162461bcd60e51b815260040162000abb90620048d9565b6008546001600160a01b03838116911614156200281b5760115462002774908263ffffffff620034f116565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190620027a6903090600401620043eb565b60206040518083038186803b158015620027bf57600080fd5b505afa158015620027d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027fa919062004314565b10156200281b5760405162461bcd60e51b815260040162000abb90620047b1565b6009546001600160a01b0383811691161415620028ee5760125462002847908263ffffffff620034f116565b6009546040516370a0823160e01b81526001600160a01b03909116906370a082319062002879903090600401620043eb565b60206040518083038186803b1580156200289257600080fd5b505afa158015620028a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028cd919062004314565b1015620028ee5760405162461bcd60e51b815260040162000abb90620044ca565b620019916001600160a01b038316338363ffffffff62003b6216565b600062000e383362000a8b565b600154600160b81b900460ff1681565b60155481565b6000546001600160a01b031633146200295a5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620029875760405162461bcd60e51b815260040162000abb9062004862565b6003805461ff001916610100179055565b600062000e383362001200565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b600154600090600160c81b900460ff1662002a025760405162461bcd60e51b815260040162000abb90620047e8565b60035460ff1662002a275760405162461bcd60e51b815260040162000abb9062004acf565b6002543a111562002a4c5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562002a795760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062002a9e8b62003592565b9550955095509550955095508986111562002acd5760405162461bcd60e51b815260040162000abb90620049e2565b62002ad9338c62003739565b871562002b435760405163301bc67560e11b815233906360378cea9062002b0e906001908f908b908f908f906004016200446f565b600060405180830381600087803b15801562002b2957600080fd5b505af115801562002b3e573d6000803e3d6000fd5b505050505b62002b4f3387620037ef565b831562002bbb5760075462002b6e906001600160a01b03168562003739565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe9062002bb290600190889062004447565b60405180910390a25b816010541462002bcb5760108290555b80600f541462002bdb57600f8190555b82600281111562002be857fe5b600e5460ff16600281111562002bfa57fe5b1462002c2057600e805484919060ff1916600183600281111562002c1a57fe5b02179055505b62002c2b8562003774565b336001600160a01b03167fe93ad76094f247c0dafc1c61adc2187de1ac2738f7a3b49cb20b2263420251a38c886040516200216a92919062004b14565b60115481565b600d5481565b600154600160a01b900460ff161562002ca15760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b17905562002cc0338262003ac0565b6200183f8162003774565b600080600062002cda6200320e565b90925090506002600e5460ff16600281111562002cf357fe5b141562002d8657600062002d2562002d1c6012546200147a85866200352090919063ffffffff16565b60125462003926565b905062002d6462002d39600d54836200340d565b600d5462002d5790670de0b6b3a76400009063ffffffff620032e316565b9063ffffffff620034f116565b905062002d7b62002d7462001cd1565b8262003926565b935050505062000e3b565b600062002db162002da86011546200147a86876200352090919063ffffffff16565b60115462003926565b905062002dc562002d39600d54836200340d565b905062002d7b62002dd562001cd1565b826200340d565b600060115482111562002e035760405162461bcd60e51b815260040162000abb90620047b1565b6001600e5460ff16600281111562002e1757fe5b141562000dae57600062002e39601054601254620032e390919063ffffffff16565b9050600062002e4762001cd1565b9050600062002e57838362003926565b9050600062002e6c601154600d54846200343a565b9050600062000d7b62000d7188601154620032e390919063ffffffff16565b600154600160a81b900460ff161562002eb85760405162461bcd60e51b815260040162000abb9062004787565b6001805460ff60a81b1916600160a81b179055600080546001600160a01b03808d166001600160a01b031990921691909117808355604051911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600680546001600160a01b03199081166001600160a01b038c8116919091179092556007805482168b84161790556008805482168a841617908190556009805483168a8516179055600a8054909216888416179091556001805462ffffff60b81b1916815560028490556003805461010060ff1991821690931761ff00191692909217905560001960048190556005819055600b889055600c879055600d869055600e80549092169091556040519092919091169062002fd990620041b8565b62002fe59190620043eb565b604051809103906000f08015801562003002573d6000803e3d6000fd5b50601380546001600160a01b0319166001600160a01b039283161790556009546040519116906200303390620041b8565b6200303f9190620043eb565b604051809103906000f0801580156200305c573d6000803e3d6000fd5b50601480546001600160a01b0319166001600160a01b0392909216919091179055620030876200385d565b505050505050505050505050565b6000546001600160a01b03163314620030c25760405162461bcd60e51b815260040162000abb90620048d9565b7f6b04da3d58e4b37d99652babb3ea2bc25ce94379bfff3059f03d61b26c59e553600c5482604051620030f792919062004b14565b60405180910390a1600c819055620019916200385d565b6000546001600160a01b031633146200313b5760405162461bcd60e51b815260040162000abb90620048d9565b6001600160a01b038116620031645760405162461bcd60e51b815260040162000abb9062004813565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000620016d3338362001995565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b6000620016d3338362002254565b601254601154600091829182600e5460ff1660028111156200322c57fe5b14156200324557600f54601054935093505050620032df565b6002600e5460ff1660028111156200325957fe5b1415620032915760006200326c62003bc1565b600f5490915062003284848363ffffffff620034f116565b94509450505050620032df565b6001600e5460ff166002811115620032a557fe5b1415620032dc576000620032b862003c32565b9050620032cc828263ffffffff620034f116565b60105494509450505050620032df565b50505b9091565b600082821115620033085760405162461bcd60e51b815260040162000abb9062004764565b50900390565b601454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b600060405180830381600087803b1580156200335d57600080fd5b505af115801562003372573d6000803e3d6000fd5b505050505050565b60095462003399906001600160a01b0316838363ffffffff62003b6216565b601254620033ae908263ffffffff620032e316565b6012555050565b601054620033ca908263ffffffff620034f116565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060009062004b04565b60405180910390a150565b6000670de0b6b3a76400006200342a848463ffffffff6200352016565b816200343257fe5b049392505050565b6000806200345a6200345360046200176487876200340d565b8662003c9a565b9050620034856200347f670de0b6b3a764000062001764848263ffffffff620034f116565b62003cbb565b90506000620034c0620034a783670de0b6b3a764000063ffffffff620032e316565b620034ba87600263ffffffff6200352016565b62003c9a565b9050620034e786620034e1670de0b6b3a76400008463ffffffff620034f116565b6200340d565b9695505050505050565b600082820183811015620035195760405162461bcd60e51b815260040162000abb90620048fc565b9392505050565b6000826200353157506000620016d3565b828202828482816200353f57fe5b0414620035195760405162461bcd60e51b815260040162000abb9062004a12565b6000806200356f8484620037c1565b9050828102840380156200358957506001019050620016d3565b509050620016d3565b600080600080600080620035a56200320e565b8093508192505050620035bb87600b546200340d565b9450620035cb87600c546200340d565b93506000620035e68562002d578a8963ffffffff620034f116565b90506000600e5460ff166002811115620035fc57fe5b14156200361b576200360f818362003cf6565b965060019350620036fb565b6001600e5460ff1660028111156200362f57fe5b141562003645576200360f816011548462003d3d565b6002600e5460ff1660028111156200365957fe5b1415620036fb5760006200367960125485620032e390919063ffffffff16565b905060006200369484601154620032e390919063ffffffff16565b905080831015620036ba57620036ae836012548762003d8d565b985060029550620036f8565b80831415620036d05781985060009550620036f8565b620036f1620014fe620036ea858463ffffffff620032e316565b8662003cf6565b9850600195505b50505b5091939550919395565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b60085462003758906001600160a01b0316838363ffffffff62003b6216565b6011546200376d908263ffffffff620032e316565b6011555050565b600f5462003789908263ffffffff620034f116565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060019062004b04565b6000808211620037e55760405162461bcd60e51b815260040162000abb906200468b565b8183816200343257fe5b60055460125462003807908363ffffffff620034f116565b1115620038285760405162461bcd60e51b815260040162000abb906200461f565b60095462003848906001600160a01b031683308463ffffffff62003dcf16565b601254620033ae908263ffffffff620034f116565b6000670de0b6b3a7640000600d54106200388b5760405162461bcd60e51b815260040162000abb9062004a35565b6000600d5411620038b05760405162461bcd60e51b815260040162000abb9062004501565b670de0b6b3a7640000620038d2600c54600b54620034f190919063ffffffff16565b1062000e3b5760405162461bcd60e51b815260040162000abb90620048b4565b6014546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b600062003519826200147a85670de0b6b3a764000063ffffffff6200352016565b6000806000806000806200395a6200320e565b92509050866000600e5460ff1660028111156200397357fe5b1415620039925762003986818462003df9565b96506002935062003a70565b6001600e5460ff166002811115620039a657fe5b141562003a5a576000620039c660115484620032e390919063ffffffff16565b90506000620039e185601254620032e390919063ffffffff16565b90508183101562003a1457620039fb836011548662003e3b565b9850600195508089111562003a0e578098505b62003a52565b8183141562003a2a578098506000955062003a52565b62003a4b6200152062003a44858563ffffffff620032e316565b8762003df9565b9850600295505b505062003a70565b62003a69816012548562003e5f565b9650600293505b62003a7e87600b546200340d565b955062003a8e87600c546200340d565b945062003ab48562003aa7898963ffffffff620032e316565b9063ffffffff620032e316565b96505091939550919395565b60045460115462003ad8908363ffffffff620034f116565b111562003af95760405162461bcd60e51b815260040162000abb906200472d565b60085462003b19906001600160a01b031683308463ffffffff62003dcf16565b6011546200376d908263ffffffff620034f116565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b62003bbc8363a9059cbb60e01b848460405160240162003b84929190620043ff565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003e96565b505050565b60008062003bdd600f54601154620032e390919063ffffffff16565b9050600062003beb62001cd1565b9050600062003bfb83836200340d565b9050600062003c10601254600d54846200343a565b905062003c2960125482620032e390919063ffffffff16565b94505050505090565b60008062003c4e601054601254620032e390919063ffffffff16565b9050600062003c5c62001cd1565b9050600062003c6c838362003926565b9050600062003c81601154600d54846200343a565b905062003c2960115482620032e390919063ffffffff16565b6000620035198262000f0c85670de0b6b3a764000063ffffffff6200352016565b80600160028204015b8181101562003cf05780915060028182858162003cdd57fe5b04018162003ce757fe5b04905062003cc4565b50919050565b600081831062003d1a5760405162461bcd60e51b815260040162000abb90620047b1565b600062003d2e838563ffffffff620032e316565b90506200177183848362003f5a565b600082841062003d615760405162461bcd60e51b815260040162000abb90620047b1565b600062003d75848663ffffffff620032e316565b905062003d8483858362003f5a565b95945050505050565b60008062003d9a62001cd1565b9050600062003dbb848662003db0858a62003f7a565b6001600d5462003f9b565b9050620034e7818663ffffffff620032e316565b62003df3846323b872dd60e01b85858560405160240162003b849392919062004418565b50505050565b60008062003e0662001cd1565b9050600062003e27848562003e1c85896200340d565b6000600d5462003f9b565b905062003d84848263ffffffff620032e316565b60008062003e50848663ffffffff620034f116565b905062003d8483828662003f5a565b60008062003e6c62001cd1565b9050600062003e82848662003e1c858a6200340d565b9050620034e7858263ffffffff620032e316565b60006060836001600160a01b03168360405162003eb49190620043af565b6000604051808303816000865af19150503d806000811462003ef3576040519150601f19603f3d011682016040523d82523d6000602084013e62003ef8565b606091505b50915091508162003f1d5760405162461bcd60e51b815260040162000abb9062004656565b80511562003df3578080602001905181019062003f3b9190620042d9565b62003df35760405162461bcd60e51b815260040162000abb906200491f565b60008062003f6762001cd1565b905062003d8485858584600d5462004135565b600062003519670de0b6b3a764000062000f0c858563ffffffff6200352016565b60008062003fb4866200147a8962001764878c6200340d565b9050600062003fdd62003fd6670de0b6b3a76400008663ffffffff620032e316565b886200340d565b905060018515620040025762003ffa828863ffffffff620034f116565b915062004017565b62004014838863ffffffff620034f116565b92505b8282106200403d5762004031828463ffffffff620032e316565b91506001905062004056565b6200404f838363ffffffff620032e316565b9150600090505b60006200408d6200407c600462001764670de0b6b3a76400008a63ffffffff620032e316565b620034e18c620017648a8f6200340d565b9050620040aa6200347f8262002d57868063ffffffff6200352016565b90506000620040ce600262001764670de0b6b3a76400008a63ffffffff620032e316565b905060008315620040f357620040eb858463ffffffff620034f116565b905062004108565b62004105838663ffffffff620032e316565b90505b881562004129576200411b818362003926565b965050505050505062003d84565b6200411b818362003c9a565b6000806200414f84620034e1888863ffffffff620032e316565b90506000620041756200416e886200147a8b8063ffffffff6200352016565b8762003c9a565b905060006200418585836200340d565b9050620041ab83620034e18362002d57670de0b6b3a76400008a63ffffffff620032e316565b9998505050505050505050565b61102d8062004b2383390190565b80356001600160a01b0381168114620016d357600080fd5b600060208284031215620041f0578081fd5b620035198383620041c6565b6000806000806000806000806000806101408b8d0312156200421c578586fd5b620042288c8c620041c6565b9950620042398c60208d01620041c6565b98506200424a8c60408d01620041c6565b97506200425b8c60608d01620041c6565b96506200426c8c60808d01620041c6565b95506200427d8c60a08d01620041c6565b945060c08b0135935060e08b013592506101008b013591506101208b013590509295989b9194979a5092959850565b60008060408385031215620042bf578182fd5b620042cb8484620041c6565b946020939093013593505050565b600060208284031215620042eb578081fd5b8151801515811462003519578182fd5b6000602082840312156200430d578081fd5b5035919050565b60006020828403121562004326578081fd5b5051919050565b6000806000806060858703121562004343578384fd5b8435935060208501359250604085013567ffffffffffffffff8082111562004369578384fd5b81870188601f8201126200437b578485fd5b80359250818311156200438c578485fd5b8860208483010111156200439e578485fd5b959894975050602090940194505050565b60008251815b81811015620043d15760208186018101518583015201620043b5565b81811115620043e05782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b92151583526020830191909152604082015260600190565b6000861515825285602083015284604083015260806060830152826080830152828460a084013781830160a090810191909152601f909201601f19160101949350505050565b6020810160038310620044c457fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b60208082526003908201526204b3d360ec1b604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600a908201526904e4f5f424153455f4c560b41b604082015260600190565b60208082526018908201527f4445504f5349545f424153455f4e4f545f414c4c4f5745440000000000000000604082015260600190565b60208082526019908201527f4445504f5349545f51554f54455f4e4f545f414c4c4f57454400000000000000604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252600b908201526a04e4f5f51554f54455f4c560ac1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526023908201527f4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f6040820152620aa8e960eb1b606082015260800190565b60208082526017908201527f4e4f545f53555045525649534f525f4f525f4f574e4552000000000000000000604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b602080825260119082015270151490511157d393d517d0531313d5d151607a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600e908201526d1411539053151657d15610d1515160921b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b60208082526013908201527214d15313125391d7d393d517d0531313d5d151606a1b604082015260600190565b6020808252600b908201526a4645455f524154453e3d3160a81b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526022908201527f4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f5560408201526108e960f31b606082015260800190565b6020808252601c908201527f53454c4c5f424153455f524543454956455f4e4f545f454e4f55474800000000604082015260600190565b602080825260169082015275084aab2be8482a68abe869ea6a8bea89e9ebe9aaa86960531b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600490820152634b3e3d3160e01b604082015260600190565b60208082526010908201526f11d054d7d4149250d157d15610d1515160821b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b602080825260129082015271109556525391d7d393d517d0531313d5d15160721b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fe60c060405260036080819052620444c560ec1b60a0908152620000269160029190620000c6565b503480156200003457600080fd5b506040516200102d3803806200102d83398101604081905262000057916200016b565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600380546001600160a01b0319166001600160a01b03929092169190911790556200019b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010957805160ff191683800117855562000139565b8280016001018555821562000139579182015b82811115620001395782518255916020019190600101906200011c565b50620001479291506200014b565b5090565b6200016891905b8082111562000147576000815560010162000152565b90565b6000602082840312156200017d578081fd5b81516001600160a01b038116811462000194578182fd5b9392505050565b610e8280620001ab6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634e71e0c8116100975780639dc29fac116100665780639dc29fac146101dd578063a9059cbb146101f0578063dd62ed3e14610203578063f2fde38b1461021657610100565b80634e71e0c8146101b257806370a08231146101ba5780638456db15146101cd57806395d89b41146101d557610100565b806318160ddd116100d357806318160ddd1461016057806323b872dd14610175578063313ce5671461018857806340c10f191461019d57610100565b806306fdde0314610105578063095ea7b31461012357806313096a411461014357806316048bc414610158575b600080fd5b61010d610229565b60405161011a9190610c89565b60405180910390f35b610136610131366004610b56565b6102f6565b60405161011a9190610c7e565b61014b610361565b60405161011a9190610c6a565b61014b610370565b61016861037f565b60405161011a9190610dcd565b610136610183366004610b16565b610385565b610190610509565b60405161011a9190610dd6565b6101b06101ab366004610b56565b61058b565b005b6101b061068e565b6101686101c8366004610ac7565b61071c565b61014b610737565b61010d610746565b6101b06101eb366004610b56565b6107d1565b6101366101fe366004610b56565b6108c8565b610168610211366004610ae2565b610986565b6101b0610224366004610ac7565b6109b1565b604080518082018252600f81526e5f444f444f5f4c505f544f4b454e5f60881b602082015260035482516306fdde0360e01b815292516060936001600160a01b03909216916306fdde03916004808301926000929190829003018186803b15801561029357600080fd5b505afa1580156102a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102cf9190810190610b80565b816040516020016102e1929190610c3c565b60405160208183030381529060405291505090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034f908690610dcd565b60405180910390a35060015b92915050565b6003546001600160a01b031681565b6000546001600160a01b031681565b60045481565b6001600160a01b0383166000908152600560205260408120548211156103c65760405162461bcd60e51b81526004016103bd90610d5b565b60405180910390fd5b6001600160a01b03841660009081526006602090815260408083203384529091529020548211156104095760405162461bcd60e51b81526004016103bd90610ce3565b6001600160a01b038416600090815260056020526040902054610432908363ffffffff610a5c16565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610467908363ffffffff610a8416565b6001600160a01b0380851660009081526005602090815260408083209490945591871681526006825282812033825290915220546104ab908363ffffffff610a5c16565b6001600160a01b038086166000818152600660209081526040808320338452909152908190209390935591519085169190600080516020610e2d833981519152906104f7908690610dcd565b60405180910390a35060019392505050565b6003546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610c1b565b905090565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b0382166000908152600560205260409020546105de908263ffffffff610a8416565b6001600160a01b03831660009081526005602052604090205560045461060a908263ffffffff610a8416565b6004556040516001600160a01b038316907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590610648908490610dcd565b60405180910390a2816001600160a01b031660006001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b60405180910390a35050565b6001546001600160a01b031633146106b85760405162461bcd60e51b81526004016103bd90610cbc565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b505050505081565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038216600090815260056020526040902054610824908263ffffffff610a5c16565b6001600160a01b038316600090815260056020526040902055600454610850908263ffffffff610a5c16565b6004556040516001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59061088e908490610dcd565b60405180910390a260006001600160a01b0316826001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b336000908152600560205260408120548211156108f75760405162461bcd60e51b81526004016103bd90610d5b565b33600090815260056020526040902054610917908363ffffffff610a5c16565b33600090815260056020526040808220929092556001600160a01b03851681522054610949908363ffffffff610a8416565b6001600160a01b038416600081815260056020526040908190209290925590513390600080516020610e2d8339815191529061034f908690610dcd565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146109db5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038116610a015760405162461bcd60e51b81526004016103bd90610d34565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610a7e5760405162461bcd60e51b81526004016103bd90610d11565b50900390565b600082820183811015610aa95760405162461bcd60e51b81526004016103bd90610daa565b9392505050565b80356001600160a01b038116811461035b57600080fd5b600060208284031215610ad8578081fd5b610aa98383610ab0565b60008060408385031215610af4578081fd5b610afe8484610ab0565b9150610b0d8460208501610ab0565b90509250929050565b600080600060608486031215610b2a578081fd5b8335610b3581610e14565b92506020840135610b4581610e14565b929592945050506040919091013590565b60008060408385031215610b68578182fd5b610b728484610ab0565b946020939093013593505050565b600060208284031215610b91578081fd5b815167ffffffffffffffff80821115610ba8578283fd5b81840185601f820112610bb9578384fd5b8051925081831115610bc9578384fd5b604051601f8401601f191681016020018381118282101715610be9578586fd5b604052838152818401602001871015610c00578485fd5b610c11846020830160208501610de4565b9695505050505050565b600060208284031215610c2c578081fd5b815160ff81168114610aa9578182fd5b60008351610c4e818460208801610de4565b8351908301610c61828260208801610de4565b01949350505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602082528251806020840152610ca8816040850160208701610de4565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b60ff91909116815260200190565b60005b83811015610dff578181015183820152602001610de7565b83811115610e0e576000848401525b50505050565b6001600160a01b0381168114610e2957600080fd5b5056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cf0d1d887af2d1880badc337ef0f270c8675b4bfd794dc60bdaa78dec3bd19664736f6c63430006090033e89c586bd81ee35a18f7eac22a732b56e589a2821497cce12a0208828540a36d581f351e2bdb9fa9021bb2a24def989f06ac236f8a92aac14bcbc618ddf3826aa2646970667358221220a7c3f70cc23c3bc7f4459663ac4cd28de21ec73de76092c1f464dcf5d30c400d64736f6c63430006090033", - "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620005205760003560e01c80638a8c523c11620002a9578063c59203af1162000171578063ec2fd46d11620000e1578063f2220416116200009f578063f222041614620009fe578063f2fde38b1462000a15578063f3ae6c5f1462000a2c578063f67ed4481462000a43578063f98bea151462000a5a578063ffa642251462000a715762000520565b8063ec2fd46d14620009a5578063ed0aa42814620009af578063ee27c68914620009c6578063ee5150b314620009d0578063f00f9a0914620009e75762000520565b8063d4b97046116200012f578063d4b970461462000966578063d689107c1462000970578063dd58b41c146200097a578063e67ce7061462000984578063eab5d20e146200099b5762000520565b8063c59203af1462000934578063c5bbffe8146200093e578063c6b73cf91462000948578063cc062b581462000952578063d47eaa37146200095c5762000520565b8063a3161a561162000219578063aceecbc811620001d7578063aceecbc814620008de578063b2094fd314620008e8578063bc7d679d14620008f2578063c0a5f6ff14620008fc578063c0ffa1781462000913578063c3a2a665146200091d5762000520565b8063a3161a56146200089f578063a598aca714620008a9578063aa06ce9b14620008b3578063ab44a7a314620008ca578063ac1fbc9814620008d45762000520565b8063947cf92b1162000267578063947cf92b146200083957806395faa5f6146200085057806397316ad814620008675780639b020fba146200087e578063a2801e1614620008885762000520565b80638a8c523c14620007ed5780638dae733314620007f75780638ff5e742146200080e57806390cbf82214620008185780639299eb3014620008225762000520565b806336ac41a811620003ed578063648a4fac116200035d578063796da7af116200031b578063796da7af146200078a5780637adbf97314620007945780637aed942d14620007ab5780637c9b8e8914620007c25780638456db1514620007cc578063892daf0514620007d65762000520565b8063648a4fac146200072f57806367de8be9146200073957806368be20ad14620007505780636ec6a58d146200077657806373a2ab7c14620007805762000520565b80634de4527e11620003ab5780634de4527e14620006e35780634e71e0c814620006ed57806354fd4d5014620006f75780635bb7552a14620007015780635f179f6414620007185762000520565b806336ac41a814620006a4578063387b0c1114620006ae5780633960f14214620006c55780634322ec8314620006cf5780634a248d2a14620006d95762000520565b80631769ddaa11620004955780631f3c156e11620004535780631f3c156e146200064e578063245c96851462000658578063247f993b146200066257806327bed8ee146200066c5780632aa82c65146200068357806336a53bbb146200068d5762000520565b80631769ddaa14620005f357806317700f0114620005fd57806317be952e146200060757806318c0bbe414620006205780631e34b9cc14620006375762000520565b8063108db74411620004e3578063108db74414620005985780631184d8be14620005af57806313c5762414620005b957806313ea5d2914620005c357806316048bc414620005da5762000520565b806304512dc414620005255780630923160214620005545780630c9f7bd0146200056d5780630cd1667d14620005845780630e6518e9146200058e575b600080fd5b6200053c62000536366004620041de565b62000a8b565b6040516200054b919062004afb565b60405180910390f35b6200056b62000565366004620042fb565b62000c3d565b005b6200053c6200057e366004620042fb565b62000cc2565b6200053c62000db7565b6200053c62000e3e565b6200053c620005a9366004620042ac565b62000e44565b6200056b62001067565b6200056b620010d6565b6200056b620005d4366004620041de565b62001128565b620005e462001177565b6040516200054b9190620043eb565b6200053c62001186565b6200056b6200118c565b62000611620011de565b6040516200054b9190620044b5565b6200053c62000631366004620042fb565b620011e7565b6200053c62000648366004620041de565b62001200565b6200056b62001379565b6200053c62001670565b6200056b62001676565b6200053c6200067d366004620042fb565b620016c5565b6200053c620016d9565b6200053c6200069e366004620041de565b6200171f565b6200056b62001779565b6200056b620006bf366004620042fb565b620017e8565b620005e46200184f565b620005e46200185e565b620005e46200186d565b6200053c6200187c565b6200056b62001882565b6200053c62001913565b6200056b62000712366004620042fb565b62001918565b6200053c62000729366004620042ac565b62001995565b6200056b62001af4565b6200056b6200074a366004620042fb565b62001c24565b6200076762000761366004620041de565b62001c9d565b6040516200054b91906200443c565b6200076762001cb2565b620005e462001cc2565b6200053c62001cd1565b6200056b620007a5366004620041de565b62001d17565b6200053c620007bc366004620041de565b62001d66565b6200053c62001ded565b620005e462001df3565b6200056b620007e7366004620042fb565b62001e02565b6200056b62001e61565b6200053c620008083660046200432d565b62001ed0565b620007676200218e565b6200056b6200219c565b6200056b62000833366004620041de565b62002205565b6200053c6200084a366004620042ac565b62002254565b6200053c62000861366004620041de565b62002439565b6200056b62000878366004620042fb565b6200247e565b6200053c620024dd565b6200053c62000899366004620042fb565b620024e3565b62000767620024f0565b62000767620024f9565b6200053c620008c4366004620042ac565b62002509565b6200053c6200264a565b620005e462002650565b6200056b6200265f565b6200053c620026af565b6200056b620026b5565b6200053c6200090d366004620042fb565b62002707565b6200053c62002715565b6200056b6200092e366004620042ac565b6200271b565b6200053c6200290a565b6200076762002917565b6200053c62002927565b6200056b6200292d565b6200053c62002998565b620005e4620029a5565b620005e4620029b4565b62000767620029c3565b6200053c620009953660046200432d565b620029d3565b6200053c62002c68565b6200053c62002c6e565b6200056b620009c0366004620042fb565b62002c74565b6200053c62002ccb565b6200053c620009e1366004620042fb565b62002ddc565b6200056b620009f8366004620041fc565b62002e8b565b6200056b62000a0f366004620042fb565b62003095565b6200056b62000a26366004620041de565b6200310e565b6200053c62000a3d366004620042fb565b620031bf565b6200053c62000a54366004620041de565b620031cd565b6200053c62000a6b366004620042fb565b62003200565b62000a7b6200320e565b6040516200054b92919062004b14565b600154600090600160a01b900460ff161562000ac45760405162461bcd60e51b815260040162000abb90620045d7565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000b035760405162461bcd60e51b815260040162000abb9062004862565b600062000b10336200171f565b9050600062000b1f33620031cd565b9050600062000b2e8362000cc2565b90508281111562000b535760405162461bcd60e51b815260040162000abb906200483a565b60105462000b68908463ffffffff620032e316565b60105562000b7733836200330e565b62000b948562000b8e858463ffffffff620032e316565b6200337a565b62000b9f81620033b5565b846001600160a01b0316336001600160a01b031660008051602062005b508339815191526000868660405162000bd89392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260008360405162000c0d92919062004447565b60405180910390a262000c27838263ffffffff620032e316565b6001805460ff60a01b1916905595945050505050565b6006546001600160a01b031633148062000c6157506000546001600160a01b031633145b62000c805760405162461bcd60e51b815260040162000abb90620046f6565b7f808f99cfd15f1be6019f93dc76c81d5bd82e0b3e0b3d23a54f5a2e647a6cc3cc6002548260405162000cb592919062004b14565b60405180910390a1600255565b600060125482111562000ce95760405162461bcd60e51b815260040162000abb90620044ca565b6002600e5460ff16600281111562000cfd57fe5b141562000dae57600062000d1f600f54601154620032e390919063ffffffff16565b9050600062000d2d62001cd1565b9050600062000d3d83836200340d565b9050600062000d52601254600d54846200343a565b9050600062000d7b62000d7188601254620032e390919063ffffffff16565b600d54856200343a565b905062000da162000d93828963ffffffff620034f116565b839063ffffffff620032e316565b9550505050505062000db2565b5060005b919050565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b505afa15801562000e12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e38919062004314565b90505b90565b60165481565b600154600090600160a01b900460ff161562000e745760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000eb35760405162461bcd60e51b815260040162000abb9062004862565b600062000ebf6200320e565b915050600062000ece620016d9565b90506000811162000ef35760405162461bcd60e51b815260040162000abb90620045fa565b600062000f198362000f0c878563ffffffff6200352016565b9063ffffffff6200356016565b905062000f2633620031cd565b81111562000f485760405162461bcd60e51b815260040162000abb90620046b3565b600062000f558662000cc2565b905085811062000f795760405162461bcd60e51b815260040162000abb906200483a565b60105462000f8e908763ffffffff620032e316565b60105562000f9d33836200330e565b62000fb48762000b8e888463ffffffff620032e316565b62000fbf81620033b5565b6001600160a01b0387163360008051602062005b50833981519152600062000fee8a8663ffffffff620032e316565b86604051620010009392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526000836040516200103592919062004447565b60405180910390a26200104f868263ffffffff620032e316565b6001805460ff60a01b19169055979650505050505050565b6000546001600160a01b03163314620010945760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620010c15760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c01b1916600160c01b179055565b6006546001600160a01b0316331480620010fa57506000546001600160a01b031633145b620011195760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c01b19169055565b6000546001600160a01b03163314620011555760405162461bcd60e51b815260040162000abb90620048d9565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60055481565b6006546001600160a01b0316331480620011b057506000546001600160a01b031633145b620011cf5760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c81b19169055565b600e5460ff1681565b6000620011f48262003592565b50939695505050505050565b600154600090600160a01b900460ff1615620012305760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16156200126f5760405162461bcd60e51b815260040162000abb9062004862565b60006200127c3362002439565b905060006200128b3362001d66565b905060006200129a8362002ddc565b905082811115620012bf5760405162461bcd60e51b815260040162000abb906200483a565b600f54620012d4908463ffffffff620032e316565b600f55620012e3338362003705565b6200130085620012fa858463ffffffff620032e316565b62003739565b6200130b8162003774565b846001600160a01b0316336001600160a01b031660008051602062005b5083398151915260018686604051620013449392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260018360405162000c0d92919062004447565b600154600160a01b900460ff1615620013a65760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16620013e45760405162461bcd60e51b815260040162000abb9062004aa6565b3360009081526017602052604090205460ff1615620014175760405162461bcd60e51b815260040162000abb9062004a7d565b336000818152601760205260408120805460ff19166001179055906200143d90620031cd565b905060006200144c3362001d66565b9050600082156200148a576200148762001465620016d9565b6010546200147a908663ffffffff6200352016565b9063ffffffff620037c116565b90505b60008215620014b957620014b6620014a162000db7565b600f546200147a908663ffffffff6200352016565b90505b601054620014ce908363ffffffff620032e316565b601055600f54620014e6908263ffffffff620032e316565b600f819055506200150c620014fe846015546200340d565b839063ffffffff620034f116565b91506200152e62001520856016546200340d565b829063ffffffff620034f116565b90506200153c338262003739565b6200154833836200337a565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906200157c9033908790600401620043ff565b600060405180830381600087803b1580156200159757600080fd5b505af1158015620015ac573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150620015e49033908890600401620043ff565b600060405180830381600087803b158015620015ff57600080fd5b505af115801562001614573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c4382846040516200165592919062004b14565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b6006546001600160a01b03163314806200169a57506000546001600160a01b031633145b620016b95760405162461bcd60e51b815260040162000abb90620046f6565b6003805460ff19169055565b6000620016d3338362002509565b92915050565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000806200172c620016d9565b905060006200173a6200320e565b915050816200174f5760009250505062000db2565b62001771826200147a836200176488620031cd565b9063ffffffff6200352016565b949350505050565b6000546001600160a01b03163314620017a65760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620017d35760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60b81b1916600160b81b179055565b600154600160a01b900460ff1615620018155760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b179055620018343382620037ef565b6200183f81620033b5565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b03163314620018af5760405162461bcd60e51b815260040162000abb906200451e565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314620019455760405162461bcd60e51b815260040162000abb90620048d9565b7f3ce6ea91adda496b7a0546fa6558e5b52c3a509de6015820efb00ca4020e0a07600b54826040516200197a92919062004b14565b60405180910390a1600b819055620019916200385d565b5050565b600154600090600160a01b900460ff1615620019c55760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b81b900460ff1662001a035760405162461bcd60e51b815260040162000abb90620045a0565b600062001a0f6200320e565b915050600062001a1e620016d9565b9050838162001a415762001a39858463ffffffff620034f116565b905062001a62565b821562001a625762001a5f836200147a878563ffffffff6200352016565b90505b62001a6e3386620037ef565b62001a7a8682620038f2565b60105462001a8f908663ffffffff620034f116565b6010556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906000908a90879062004457565b60405180910390a36001805460ff60a01b1916905595945050505050565b6000546001600160a01b0316331462001b215760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001b4e5760405162461bcd60e51b815260040162000abb9062004862565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600062001b7862000db7565b9050600062001b86620016d9565b9050601054601254111562001bc857600062001bb0601054601254620032e390919063ffffffff16565b905062001bbe818462003926565b6015555062001bcf565b6012546010555b600f54601154111562001c0f57600062001bf7600f54601154620032e390919063ffffffff16565b905062001c05818362003926565b6016555062001c16565b601154600f555b5050600e805460ff19169055565b6000546001600160a01b0316331462001c515760405162461bcd60e51b815260040162000abb90620048d9565b7f023a40bebf7ac113f81c3d628073246cf9e0bc49980a9d6a9531498ce9e3dd1c600d548260405162001c8692919062004b14565b60405180910390a1600d819055620019916200385d565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000546001600160a01b0316331462001d445760405162461bcd60e51b815260040162000abb90620048d9565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6013546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b60206040518083038186803b15801562001db257600080fd5b505afa15801562001dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016d3919062004314565b60125481565b6001546001600160a01b031681565b6000546001600160a01b0316331462001e2f5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001e5c5760405162461bcd60e51b815260040162000abb9062004862565b600455565b6000546001600160a01b0316331462001e8e5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001ebb5760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c81b1916600160c81b179055565b600154600090600160c81b900460ff1662001eff5760405162461bcd60e51b815260040162000abb90620047e8565b600354610100900460ff1662001f295760405162461bcd60e51b815260040162000abb9062004887565b6002543a111562001f4e5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562001f7b5760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062001fa08b62003947565b9550955095509550955095508986101562001fcf5760405162461bcd60e51b815260040162000abb90620049ab565b62001fdb33876200337a565b8715620020455760405163301bc67560e11b815233906360378cea9062002010906000908f908b908f908f906004016200446f565b600060405180830381600087803b1580156200202b57600080fd5b505af115801562002040573d6000803e3d6000fd5b505050505b62002051338c62003ac0565b8315620020bd5760075462002070906001600160a01b0316856200337a565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe90620020b490600090889062004447565b60405180910390a25b8160105414620020cd5760108290555b80600f5414620020dd57600f8190555b826002811115620020ea57fe5b600e5460ff166002811115620020fc57fe5b146200212257600e805484919060ff191660018360028111156200211c57fe5b02179055505b6200212d85620033b5565b336001600160a01b03167fd8648b6ac54162763c86fd54bf2005af8ecd2f9cb273a5775921fd7f91e17b2d8c886040516200216a92919062004b14565b60405180910390a250506001805460ff60a01b191690555091979650505050505050565b600354610100900460ff1681565b6000546001600160a01b03163314620021c95760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620021f65760405162461bcd60e51b815260040162000abb9062004862565b6003805460ff19166001179055565b6000546001600160a01b03163314620022325760405162461bcd60e51b815260040162000abb90620048d9565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600154600090600160a01b900460ff1615620022845760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615620022c35760405162461bcd60e51b815260040162000abb9062004862565b6000620022cf6200320e565b5090506000620022de62000db7565b905060008111620023035760405162461bcd60e51b815260040162000abb9062004545565b60006200231c8362000f0c878563ffffffff6200352016565b9050620023293362001d66565b8111156200234b5760405162461bcd60e51b815260040162000abb9062004969565b6000620023588662002ddc565b9050858111156200237d5760405162461bcd60e51b815260040162000abb906200483a565b600f5462002392908763ffffffff620032e316565b600f55620023a1338362003705565b620023b887620012fa888463ffffffff620032e316565b620023c38162003774565b6001600160a01b0387163360008051602062005b508339815191526001620023f28a8663ffffffff620032e316565b86604051620024049392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526001836040516200103592919062004447565b6000806200244662000db7565b90506000620024546200320e565b50905081620024695760009250505062000db2565b62001771826200147a83620017648862001d66565b6000546001600160a01b03163314620024ab5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620024d85760405162461bcd60e51b815260040162000abb9062004862565b600555565b60045481565b6000620011f48262003947565b60035460ff1681565b600154600160c01b900460ff1681565b600154600090600160a01b900460ff1615620025395760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160c01b900460ff16620025775760405162461bcd60e51b815260040162000abb9062004569565b6000620025836200320e565b50905060006200259262000db7565b90508381620025b557620025ad858463ffffffff620034f116565b9050620025d6565b8215620025d657620025d3836200147a878563ffffffff6200352016565b90505b620025e2338662003ac0565b620025ee868262003b2e565b600f5462002603908663ffffffff620034f116565b600f556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906001908a90879062004457565b600b5481565b6014546001600160a01b031681565b6006546001600160a01b03163314806200268357506000546001600160a01b031633145b620026a25760405162461bcd60e51b815260040162000abb90620046f6565b6003805461ff0019169055565b600f5481565b6006546001600160a01b0316331480620026d957506000546001600160a01b031633145b620026f85760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60b81b19169055565b6000620016d3338362000e44565b600c5481565b6000546001600160a01b03163314620027485760405162461bcd60e51b815260040162000abb90620048d9565b6008546001600160a01b03838116911614156200281b5760115462002774908263ffffffff620034f116565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190620027a6903090600401620043eb565b60206040518083038186803b158015620027bf57600080fd5b505afa158015620027d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027fa919062004314565b10156200281b5760405162461bcd60e51b815260040162000abb90620047b1565b6009546001600160a01b0383811691161415620028ee5760125462002847908263ffffffff620034f116565b6009546040516370a0823160e01b81526001600160a01b03909116906370a082319062002879903090600401620043eb565b60206040518083038186803b1580156200289257600080fd5b505afa158015620028a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028cd919062004314565b1015620028ee5760405162461bcd60e51b815260040162000abb90620044ca565b620019916001600160a01b038316338363ffffffff62003b6216565b600062000e383362000a8b565b600154600160b81b900460ff1681565b60155481565b6000546001600160a01b031633146200295a5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620029875760405162461bcd60e51b815260040162000abb9062004862565b6003805461ff001916610100179055565b600062000e383362001200565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b600154600090600160c81b900460ff1662002a025760405162461bcd60e51b815260040162000abb90620047e8565b60035460ff1662002a275760405162461bcd60e51b815260040162000abb9062004acf565b6002543a111562002a4c5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562002a795760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062002a9e8b62003592565b9550955095509550955095508986111562002acd5760405162461bcd60e51b815260040162000abb90620049e2565b62002ad9338c62003739565b871562002b435760405163301bc67560e11b815233906360378cea9062002b0e906001908f908b908f908f906004016200446f565b600060405180830381600087803b15801562002b2957600080fd5b505af115801562002b3e573d6000803e3d6000fd5b505050505b62002b4f3387620037ef565b831562002bbb5760075462002b6e906001600160a01b03168562003739565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe9062002bb290600190889062004447565b60405180910390a25b816010541462002bcb5760108290555b80600f541462002bdb57600f8190555b82600281111562002be857fe5b600e5460ff16600281111562002bfa57fe5b1462002c2057600e805484919060ff1916600183600281111562002c1a57fe5b02179055505b62002c2b8562003774565b336001600160a01b03167fe93ad76094f247c0dafc1c61adc2187de1ac2738f7a3b49cb20b2263420251a38c886040516200216a92919062004b14565b60115481565b600d5481565b600154600160a01b900460ff161562002ca15760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b17905562002cc0338262003ac0565b6200183f8162003774565b600080600062002cda6200320e565b90925090506002600e5460ff16600281111562002cf357fe5b141562002d8657600062002d2562002d1c6012546200147a85866200352090919063ffffffff16565b60125462003926565b905062002d6462002d39600d54836200340d565b600d5462002d5790670de0b6b3a76400009063ffffffff620032e316565b9063ffffffff620034f116565b905062002d7b62002d7462001cd1565b8262003926565b935050505062000e3b565b600062002db162002da86011546200147a86876200352090919063ffffffff16565b60115462003926565b905062002dc562002d39600d54836200340d565b905062002d7b62002dd562001cd1565b826200340d565b600060115482111562002e035760405162461bcd60e51b815260040162000abb90620047b1565b6001600e5460ff16600281111562002e1757fe5b141562000dae57600062002e39601054601254620032e390919063ffffffff16565b9050600062002e4762001cd1565b9050600062002e57838362003926565b9050600062002e6c601154600d54846200343a565b9050600062000d7b62000d7188601154620032e390919063ffffffff16565b600154600160a81b900460ff161562002eb85760405162461bcd60e51b815260040162000abb9062004787565b6001805460ff60a81b1916600160a81b179055600080546001600160a01b03808d166001600160a01b031990921691909117808355604051911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600680546001600160a01b03199081166001600160a01b038c8116919091179092556007805482168b84161790556008805482168a841617908190556009805483168a8516179055600a8054909216888416179091556001805462ffffff60b81b1916815560028490556003805461010060ff1991821690931761ff00191692909217905560001960048190556005819055600b889055600c879055600d869055600e80549092169091556040519092919091169062002fd990620041b8565b62002fe59190620043eb565b604051809103906000f08015801562003002573d6000803e3d6000fd5b50601380546001600160a01b0319166001600160a01b039283161790556009546040519116906200303390620041b8565b6200303f9190620043eb565b604051809103906000f0801580156200305c573d6000803e3d6000fd5b50601480546001600160a01b0319166001600160a01b0392909216919091179055620030876200385d565b505050505050505050505050565b6000546001600160a01b03163314620030c25760405162461bcd60e51b815260040162000abb90620048d9565b7f6b04da3d58e4b37d99652babb3ea2bc25ce94379bfff3059f03d61b26c59e553600c5482604051620030f792919062004b14565b60405180910390a1600c819055620019916200385d565b6000546001600160a01b031633146200313b5760405162461bcd60e51b815260040162000abb90620048d9565b6001600160a01b038116620031645760405162461bcd60e51b815260040162000abb9062004813565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000620016d3338362001995565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b6000620016d3338362002254565b601254601154600091829182600e5460ff1660028111156200322c57fe5b14156200324557600f54601054935093505050620032df565b6002600e5460ff1660028111156200325957fe5b1415620032915760006200326c62003bc1565b600f5490915062003284848363ffffffff620034f116565b94509450505050620032df565b6001600e5460ff166002811115620032a557fe5b1415620032dc576000620032b862003c32565b9050620032cc828263ffffffff620034f116565b60105494509450505050620032df565b50505b9091565b600082821115620033085760405162461bcd60e51b815260040162000abb9062004764565b50900390565b601454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b600060405180830381600087803b1580156200335d57600080fd5b505af115801562003372573d6000803e3d6000fd5b505050505050565b60095462003399906001600160a01b0316838363ffffffff62003b6216565b601254620033ae908263ffffffff620032e316565b6012555050565b601054620033ca908263ffffffff620034f116565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060009062004b04565b60405180910390a150565b6000670de0b6b3a76400006200342a848463ffffffff6200352016565b816200343257fe5b049392505050565b6000806200345a6200345360046200176487876200340d565b8662003c9a565b9050620034856200347f670de0b6b3a764000062001764848263ffffffff620034f116565b62003cbb565b90506000620034c0620034a783670de0b6b3a764000063ffffffff620032e316565b620034ba87600263ffffffff6200352016565b62003c9a565b9050620034e786620034e1670de0b6b3a76400008463ffffffff620034f116565b6200340d565b9695505050505050565b600082820183811015620035195760405162461bcd60e51b815260040162000abb90620048fc565b9392505050565b6000826200353157506000620016d3565b828202828482816200353f57fe5b0414620035195760405162461bcd60e51b815260040162000abb9062004a12565b6000806200356f8484620037c1565b9050828102840380156200358957506001019050620016d3565b509050620016d3565b600080600080600080620035a56200320e565b8093508192505050620035bb87600b546200340d565b9450620035cb87600c546200340d565b93506000620035e68562002d578a8963ffffffff620034f116565b90506000600e5460ff166002811115620035fc57fe5b14156200361b576200360f818362003cf6565b965060019350620036fb565b6001600e5460ff1660028111156200362f57fe5b141562003645576200360f816011548462003d3d565b6002600e5460ff1660028111156200365957fe5b1415620036fb5760006200367960125485620032e390919063ffffffff16565b905060006200369484601154620032e390919063ffffffff16565b905080831015620036ba57620036ae836012548762003d8d565b985060029550620036f8565b80831415620036d05781985060009550620036f8565b620036f1620014fe620036ea858463ffffffff620032e316565b8662003cf6565b9850600195505b50505b5091939550919395565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b60085462003758906001600160a01b0316838363ffffffff62003b6216565b6011546200376d908263ffffffff620032e316565b6011555050565b600f5462003789908263ffffffff620034f116565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060019062004b04565b6000808211620037e55760405162461bcd60e51b815260040162000abb906200468b565b8183816200343257fe5b60055460125462003807908363ffffffff620034f116565b1115620038285760405162461bcd60e51b815260040162000abb906200461f565b60095462003848906001600160a01b031683308463ffffffff62003dcf16565b601254620033ae908263ffffffff620034f116565b6000670de0b6b3a7640000600d54106200388b5760405162461bcd60e51b815260040162000abb9062004a35565b6000600d5411620038b05760405162461bcd60e51b815260040162000abb9062004501565b670de0b6b3a7640000620038d2600c54600b54620034f190919063ffffffff16565b1062000e3b5760405162461bcd60e51b815260040162000abb90620048b4565b6014546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b600062003519826200147a85670de0b6b3a764000063ffffffff6200352016565b6000806000806000806200395a6200320e565b92509050866000600e5460ff1660028111156200397357fe5b1415620039925762003986818462003df9565b96506002935062003a70565b6001600e5460ff166002811115620039a657fe5b141562003a5a576000620039c660115484620032e390919063ffffffff16565b90506000620039e185601254620032e390919063ffffffff16565b90508183101562003a1457620039fb836011548662003e3b565b9850600195508089111562003a0e578098505b62003a52565b8183141562003a2a578098506000955062003a52565b62003a4b6200152062003a44858563ffffffff620032e316565b8762003df9565b9850600295505b505062003a70565b62003a69816012548562003e5f565b9650600293505b62003a7e87600b546200340d565b955062003a8e87600c546200340d565b945062003ab48562003aa7898963ffffffff620032e316565b9063ffffffff620032e316565b96505091939550919395565b60045460115462003ad8908363ffffffff620034f116565b111562003af95760405162461bcd60e51b815260040162000abb906200472d565b60085462003b19906001600160a01b031683308463ffffffff62003dcf16565b6011546200376d908263ffffffff620034f116565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b62003bbc8363a9059cbb60e01b848460405160240162003b84929190620043ff565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003e96565b505050565b60008062003bdd600f54601154620032e390919063ffffffff16565b9050600062003beb62001cd1565b9050600062003bfb83836200340d565b9050600062003c10601254600d54846200343a565b905062003c2960125482620032e390919063ffffffff16565b94505050505090565b60008062003c4e601054601254620032e390919063ffffffff16565b9050600062003c5c62001cd1565b9050600062003c6c838362003926565b9050600062003c81601154600d54846200343a565b905062003c2960115482620032e390919063ffffffff16565b6000620035198262000f0c85670de0b6b3a764000063ffffffff6200352016565b80600160028204015b8181101562003cf05780915060028182858162003cdd57fe5b04018162003ce757fe5b04905062003cc4565b50919050565b600081831062003d1a5760405162461bcd60e51b815260040162000abb90620047b1565b600062003d2e838563ffffffff620032e316565b90506200177183848362003f5a565b600082841062003d615760405162461bcd60e51b815260040162000abb90620047b1565b600062003d75848663ffffffff620032e316565b905062003d8483858362003f5a565b95945050505050565b60008062003d9a62001cd1565b9050600062003dbb848662003db0858a62003f7a565b6001600d5462003f9b565b9050620034e7818663ffffffff620032e316565b62003df3846323b872dd60e01b85858560405160240162003b849392919062004418565b50505050565b60008062003e0662001cd1565b9050600062003e27848562003e1c85896200340d565b6000600d5462003f9b565b905062003d84848263ffffffff620032e316565b60008062003e50848663ffffffff620034f116565b905062003d8483828662003f5a565b60008062003e6c62001cd1565b9050600062003e82848662003e1c858a6200340d565b9050620034e7858263ffffffff620032e316565b60006060836001600160a01b03168360405162003eb49190620043af565b6000604051808303816000865af19150503d806000811462003ef3576040519150601f19603f3d011682016040523d82523d6000602084013e62003ef8565b606091505b50915091508162003f1d5760405162461bcd60e51b815260040162000abb9062004656565b80511562003df3578080602001905181019062003f3b9190620042d9565b62003df35760405162461bcd60e51b815260040162000abb906200491f565b60008062003f6762001cd1565b905062003d8485858584600d5462004135565b600062003519670de0b6b3a764000062000f0c858563ffffffff6200352016565b60008062003fb4866200147a8962001764878c6200340d565b9050600062003fdd62003fd6670de0b6b3a76400008663ffffffff620032e316565b886200340d565b905060018515620040025762003ffa828863ffffffff620034f116565b915062004017565b62004014838863ffffffff620034f116565b92505b8282106200403d5762004031828463ffffffff620032e316565b91506001905062004056565b6200404f838363ffffffff620032e316565b9150600090505b60006200408d6200407c600462001764670de0b6b3a76400008a63ffffffff620032e316565b620034e18c620017648a8f6200340d565b9050620040aa6200347f8262002d57868063ffffffff6200352016565b90506000620040ce600262001764670de0b6b3a76400008a63ffffffff620032e316565b905060008315620040f357620040eb858463ffffffff620034f116565b905062004108565b62004105838663ffffffff620032e316565b90505b881562004129576200411b818362003926565b965050505050505062003d84565b6200411b818362003c9a565b6000806200414f84620034e1888863ffffffff620032e316565b90506000620041756200416e886200147a8b8063ffffffff6200352016565b8762003c9a565b905060006200418585836200340d565b9050620041ab83620034e18362002d57670de0b6b3a76400008a63ffffffff620032e316565b9998505050505050505050565b61102d8062004b2383390190565b80356001600160a01b0381168114620016d357600080fd5b600060208284031215620041f0578081fd5b620035198383620041c6565b6000806000806000806000806000806101408b8d0312156200421c578586fd5b620042288c8c620041c6565b9950620042398c60208d01620041c6565b98506200424a8c60408d01620041c6565b97506200425b8c60608d01620041c6565b96506200426c8c60808d01620041c6565b95506200427d8c60a08d01620041c6565b945060c08b0135935060e08b013592506101008b013591506101208b013590509295989b9194979a5092959850565b60008060408385031215620042bf578182fd5b620042cb8484620041c6565b946020939093013593505050565b600060208284031215620042eb578081fd5b8151801515811462003519578182fd5b6000602082840312156200430d578081fd5b5035919050565b60006020828403121562004326578081fd5b5051919050565b6000806000806060858703121562004343578384fd5b8435935060208501359250604085013567ffffffffffffffff8082111562004369578384fd5b81870188601f8201126200437b578485fd5b80359250818311156200438c578485fd5b8860208483010111156200439e578485fd5b959894975050602090940194505050565b60008251815b81811015620043d15760208186018101518583015201620043b5565b81811115620043e05782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b92151583526020830191909152604082015260600190565b6000861515825285602083015284604083015260806060830152826080830152828460a084013781830160a090810191909152601f909201601f19160101949350505050565b6020810160038310620044c457fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b60208082526003908201526204b3d360ec1b604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600a908201526904e4f5f424153455f4c560b41b604082015260600190565b60208082526018908201527f4445504f5349545f424153455f4e4f545f414c4c4f5745440000000000000000604082015260600190565b60208082526019908201527f4445504f5349545f51554f54455f4e4f545f414c4c4f57454400000000000000604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252600b908201526a04e4f5f51554f54455f4c560ac1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526023908201527f4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f6040820152620aa8e960eb1b606082015260800190565b60208082526017908201527f4e4f545f53555045525649534f525f4f525f4f574e4552000000000000000000604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b602080825260119082015270151490511157d393d517d0531313d5d151607a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600e908201526d1411539053151657d15610d1515160921b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b60208082526013908201527214d15313125391d7d393d517d0531313d5d151606a1b604082015260600190565b6020808252600b908201526a4645455f524154453e3d3160a81b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526022908201527f4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f5560408201526108e960f31b606082015260800190565b6020808252601c908201527f53454c4c5f424153455f524543454956455f4e4f545f454e4f55474800000000604082015260600190565b602080825260169082015275084aab2be8482a68abe869ea6a8bea89e9ebe9aaa86960531b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600490820152634b3e3d3160e01b604082015260600190565b60208082526010908201526f11d054d7d4149250d157d15610d1515160821b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b602080825260129082015271109556525391d7d393d517d0531313d5d15160721b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fe60c060405260036080819052620444c560ec1b60a0908152620000269160029190620000c6565b503480156200003457600080fd5b506040516200102d3803806200102d83398101604081905262000057916200016b565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600380546001600160a01b0319166001600160a01b03929092169190911790556200019b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010957805160ff191683800117855562000139565b8280016001018555821562000139579182015b82811115620001395782518255916020019190600101906200011c565b50620001479291506200014b565b5090565b6200016891905b8082111562000147576000815560010162000152565b90565b6000602082840312156200017d578081fd5b81516001600160a01b038116811462000194578182fd5b9392505050565b610e8280620001ab6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634e71e0c8116100975780639dc29fac116100665780639dc29fac146101dd578063a9059cbb146101f0578063dd62ed3e14610203578063f2fde38b1461021657610100565b80634e71e0c8146101b257806370a08231146101ba5780638456db15146101cd57806395d89b41146101d557610100565b806318160ddd116100d357806318160ddd1461016057806323b872dd14610175578063313ce5671461018857806340c10f191461019d57610100565b806306fdde0314610105578063095ea7b31461012357806313096a411461014357806316048bc414610158575b600080fd5b61010d610229565b60405161011a9190610c89565b60405180910390f35b610136610131366004610b56565b6102f6565b60405161011a9190610c7e565b61014b610361565b60405161011a9190610c6a565b61014b610370565b61016861037f565b60405161011a9190610dcd565b610136610183366004610b16565b610385565b610190610509565b60405161011a9190610dd6565b6101b06101ab366004610b56565b61058b565b005b6101b061068e565b6101686101c8366004610ac7565b61071c565b61014b610737565b61010d610746565b6101b06101eb366004610b56565b6107d1565b6101366101fe366004610b56565b6108c8565b610168610211366004610ae2565b610986565b6101b0610224366004610ac7565b6109b1565b604080518082018252600f81526e5f444f444f5f4c505f544f4b454e5f60881b602082015260035482516306fdde0360e01b815292516060936001600160a01b03909216916306fdde03916004808301926000929190829003018186803b15801561029357600080fd5b505afa1580156102a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102cf9190810190610b80565b816040516020016102e1929190610c3c565b60405160208183030381529060405291505090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034f908690610dcd565b60405180910390a35060015b92915050565b6003546001600160a01b031681565b6000546001600160a01b031681565b60045481565b6001600160a01b0383166000908152600560205260408120548211156103c65760405162461bcd60e51b81526004016103bd90610d5b565b60405180910390fd5b6001600160a01b03841660009081526006602090815260408083203384529091529020548211156104095760405162461bcd60e51b81526004016103bd90610ce3565b6001600160a01b038416600090815260056020526040902054610432908363ffffffff610a5c16565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610467908363ffffffff610a8416565b6001600160a01b0380851660009081526005602090815260408083209490945591871681526006825282812033825290915220546104ab908363ffffffff610a5c16565b6001600160a01b038086166000818152600660209081526040808320338452909152908190209390935591519085169190600080516020610e2d833981519152906104f7908690610dcd565b60405180910390a35060019392505050565b6003546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610c1b565b905090565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b0382166000908152600560205260409020546105de908263ffffffff610a8416565b6001600160a01b03831660009081526005602052604090205560045461060a908263ffffffff610a8416565b6004556040516001600160a01b038316907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590610648908490610dcd565b60405180910390a2816001600160a01b031660006001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b60405180910390a35050565b6001546001600160a01b031633146106b85760405162461bcd60e51b81526004016103bd90610cbc565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b505050505081565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038216600090815260056020526040902054610824908263ffffffff610a5c16565b6001600160a01b038316600090815260056020526040902055600454610850908263ffffffff610a5c16565b6004556040516001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59061088e908490610dcd565b60405180910390a260006001600160a01b0316826001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b336000908152600560205260408120548211156108f75760405162461bcd60e51b81526004016103bd90610d5b565b33600090815260056020526040902054610917908363ffffffff610a5c16565b33600090815260056020526040808220929092556001600160a01b03851681522054610949908363ffffffff610a8416565b6001600160a01b038416600081815260056020526040908190209290925590513390600080516020610e2d8339815191529061034f908690610dcd565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146109db5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038116610a015760405162461bcd60e51b81526004016103bd90610d34565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610a7e5760405162461bcd60e51b81526004016103bd90610d11565b50900390565b600082820183811015610aa95760405162461bcd60e51b81526004016103bd90610daa565b9392505050565b80356001600160a01b038116811461035b57600080fd5b600060208284031215610ad8578081fd5b610aa98383610ab0565b60008060408385031215610af4578081fd5b610afe8484610ab0565b9150610b0d8460208501610ab0565b90509250929050565b600080600060608486031215610b2a578081fd5b8335610b3581610e14565b92506020840135610b4581610e14565b929592945050506040919091013590565b60008060408385031215610b68578182fd5b610b728484610ab0565b946020939093013593505050565b600060208284031215610b91578081fd5b815167ffffffffffffffff80821115610ba8578283fd5b81840185601f820112610bb9578384fd5b8051925081831115610bc9578384fd5b604051601f8401601f191681016020018381118282101715610be9578586fd5b604052838152818401602001871015610c00578485fd5b610c11846020830160208501610de4565b9695505050505050565b600060208284031215610c2c578081fd5b815160ff81168114610aa9578182fd5b60008351610c4e818460208801610de4565b8351908301610c61828260208801610de4565b01949350505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602082528251806020840152610ca8816040850160208701610de4565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b60ff91909116815260200190565b60005b83811015610dff578181015183820152602001610de7565b83811115610e0e576000848401525b50505050565b6001600160a01b0381168114610e2957600080fd5b5056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cf0d1d887af2d1880badc337ef0f270c8675b4bfd794dc60bdaa78dec3bd19664736f6c63430006090033e89c586bd81ee35a18f7eac22a732b56e589a2821497cce12a0208828540a36d581f351e2bdb9fa9021bb2a24def989f06ac236f8a92aac14bcbc618ddf3826aa2646970667358221220a7c3f70cc23c3bc7f4459663ac4cd28de21ec73de76092c1f464dcf5d30c400d64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "541:1472:2:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "541:1472:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6601:882:24;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1771:207:22;;;;;;;;;:::i;:::-;;9778:964:24;;;;;;;;;:::i;2949:133:27:-;;;:::i;2006:43::-;;;:::i;4161:1196:24:-;;;;;;;;;:::i;2587:104:22:-;;;:::i;2473:108::-;;;:::i;985:110::-;;;;;;;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;2043:97:22:-;;;:::i;1604:31:27:-;;;:::i;:::-;;;;;;;;4680:175:28;;;;;;;;;:::i;7489:835:24:-;;;;;;;;;:::i;3873:1392:26:-;;;:::i;1688:42:27:-;;;:::i;2758:97:22:-;;;:::i;1751:121:24:-;;;;;;;;;:::i;3243:135:27:-;;;:::i;9385:387:24:-;;;;;;;;;:::i;2361:106:22:-;;;:::i;2545:161:26:-;;;;;;;;;:::i;1202:27:27:-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;3433:87:27:-;;;:::i;1101:274:22:-;;;;;;;;;:::i;2418:847:24:-;;;;;;;;;:::i;2808:1006:26:-;;;:::i;1626:139:22:-;;;;;;;;;:::i;2055:41:27:-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;769:94:22:-;;;;;;;;;:::i;2796:147:27:-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;3166:146:22:-;;;;;;;;;:::i;2146:93::-;;;:::i;1477:1499:28:-;;;;;;;;;:::i;1036:29:27:-;;;:::i;2861:93:22:-;;;:::i;869:110::-;;;;;;;;;:::i;5363:1175:24:-;;;;;;;;;:::i;9000:379::-;;;;;;;;;:::i;3318:150:22:-;;;;;;;;;:::i;1071:35:27:-;;;:::i;4485:189:28:-;;;;;;;;;:::i;1002:28:27:-;;;:::i;839:34::-;;;:::i;3271:831:24:-;;;;;;;;;:::i;1511:28:27:-;;;:::i;1849:36::-;;;:::i;2960:99:22:-;;;:::i;1641:41:27:-;;;:::i;2245:110:22:-;;;:::i;1878:125:24:-;;;;;;;;;:::i;1545:28:27:-;;;:::i;5324:581:26:-;;;;;;;;;:::i;2251:109:24:-;;;:::i;798:35:27:-;;;:::i;1957:43::-;;;:::i;3065:95:22:-;;;:::i;2138:107:24:-;;;:::i;1385:28:27:-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;2982:1447:28:-;;;;;;;;;:::i;1736:29:27:-;;;:::i;1579:18::-;;;:::i;2381:158:26:-;;;;;;;;;:::i;5504:799:25:-;;;:::i;10748:963:24:-;;;;;;;;;:::i;597:1414:2:-;;;;;;;;;:::i;1381:239:22:-;;;;;;;;;:::i;737:220:37:-;;;;;;;;;:::i;2009:123:24:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;1622:123:24:-;;;;;;;;;:::i;4819:679:25:-;;;:::i;:::-;;;;;;;;;6601:882:24;515:9:39;;6720:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;6743:22:::2;6768:29;6786:10;6768:17;:29::i;:::-;6743:54;;6807:15;6825:36;6850:10;6825:24;:36::i;:::-;6807:54;;6925:15;6943:39;6967:14;6943:23;:39::i;:::-;6925:57;;7011:14;7000:7;:25;;6992:52;;;;-1:-1:-1::0;;;6992:52:24::2;;;;;;;;;7107:27;::::0;:47:::2;::::0;7139:14;7107:47:::2;:31;:47;:::i;:::-;7077:27;:77:::0;7164:38:::2;7182:10;7194:7:::0;7164:17:::2;:38::i;:::-;7212:55;7235:2:::0;7239:27:::2;:14:::0;7258:7;7239:27:::2;:18;:27;:::i;:::-;7212:22;:55::i;:::-;7277:26;7295:7;7277:17;:26::i;:::-;7340:2;-1:-1:-1::0;;;;;7319:56:24::2;7328:10;-1:-1:-1::0;;;;;7319:56:24::2;-1:-1:-1::0;;;;;;;;;;;7344:5:24::2;7351:14;7367:7;7319:56;;;;;;;;;;;;;;;;;7404:10;-1:-1:-1::0;;;;;7390:41:24::2;-1:-1:-1::0;;;;;;;;;;;7416:5:24::2;7423:7;7390:41;;;;;;;;;;;;;;;;7449:27;:14:::0;7468:7;7449:27:::2;:18;:27;:::i;:::-;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;7442:34:24;6601:882;-1:-1:-1;;;;;6601:882:24:o;1771:207:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;1869:56:22::1;1889:17;;1908:16;1869:56;;;;;;;;;;;;;;;;1935:17;:36:::0;1771:207::o;9778:964:24:-;9848:15;9893;;9883:6;:25;;9875:67;;;;-1:-1:-1;;;9875:67:24;;;;;;;;;9970:23;9956:10;;;;:37;;;;;;;;;9952:784;;;10009:17;10029:46;10048:26;;10029:14;;:18;;:46;;;;:::i;:::-;10009:66;;10089:13;10105:16;:14;:16::i;:::-;10089:32;;10135:18;10156:33;10172:9;10183:5;10156:15;:33::i;:::-;10135:54;;10203:19;10225:137;10284:15;;10317:3;;10338:10;10225:41;:137::i;:::-;10203:159;;10430:31;10464:149;10523:27;10543:6;10523:15;;:19;;:27;;;;:::i;:::-;10568:3;;10589:10;10464:41;:149::i;:::-;10430:183;-1:-1:-1;10634:52:24;10650:35;10430:183;10678:6;10650:35;:27;:35;:::i;:::-;10634:11;;:52;:15;:52;:::i;:::-;10627:59;;;;;;;;;9952:784;-1:-1:-1;10724:1:24;9952:784;9778:964;;;:::o;2949:133:27:-;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;;:::o;2006:43::-;;;;:::o;4161:1196:24:-;515:9:39;;4293:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;4348:19:::2;4371;:17;:19::i;:::-;4345:45;;;4400:25;4428:22;:20;:22::i;:::-;4400:50;;4488:1;4468:17;:21;4460:45;;;;-1:-1:-1::0;;;4460:45:24::2;;;;;;;;;4516:27;4546:50;4584:11:::0;4546:29:::2;:6:::0;4557:17;4546:29:::2;:10;:29;:::i;:::-;:37:::0;:50:::2;:37;:50;:::i;:::-;4516:80;;4650:36;4675:10;4650:24;:36::i;:::-;4627:19;:59;;4606:141;;;;-1:-1:-1::0;;;4606:141:24::2;;;;;;;;;4811:15;4829:31;4853:6;4829:23;:31::i;:::-;4811:49;;4888:6;4878:7;:16;4870:43;;;;-1:-1:-1::0;;;4870:43:24::2;;;;;;;;;4976:27;::::0;:39:::2;::::0;5008:6;4976:39:::2;:31;:39;:::i;:::-;4946:27;:69:::0;5025:50:::2;5043:10;5055:19:::0;5025:17:::2;:50::i;:::-;5085:47;5108:2:::0;5112:19:::2;:6:::0;5123:7;5112:19:::2;:10;:19;:::i;5085:47::-;5142:26;5160:7;5142:17;:26::i;:::-;-1:-1:-1::0;;;;;5184:73:24;::::2;5193:10;-1:-1:-1::0;;;;;;;;;;;5209:5:24::2;5216:19;:6:::0;5227:7;5216:19:::2;:10;:19;:::i;:::-;5237;5184:73;;;;;;;;;;;;;;;;;5286:10;-1:-1:-1::0;;;;;5272:41:24::2;-1:-1:-1::0;;;;;;;;;;;5298:5:24::2;5305:7;5272:41;;;;;;;;;;;;;;;;5331:19;:6:::0;5342:7;5331:19:::2;:10;:19;:::i;:::-;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;5324:26:24;4161:1196;-1:-1:-1;;;;;;;4161:1196:24:o;2587:104:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2680:4:22::2;2655:29:::0;;-1:-1:-1;;;;2655:29:22::2;-1:-1:-1::0;;;2655:29:22::2;::::0;;2587:104::o;2473:108::-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2544:22:22::1;:30:::0;;-1:-1:-1;;;;2544:30:22::1;::::0;;2473:108::o;985:110::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1060:12:22::1;:28:::0;;-1:-1:-1;;;;;;1060:28:22::1;-1:-1:-1::0;;;;;1060:28:22;;;::::1;::::0;;;::::1;::::0;;985:110::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;2043:97:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2110:15:22::1;:23:::0;;-1:-1:-1;;;;2110:23:22::1;::::0;;2043:97::o;1604:31:27:-;;;;;;:::o;4680:175:28:-;4746:16;4797:26;4816:6;4797:18;:26::i;:::-;-1:-1:-1;4774:49:28;;4680:175;-1:-1:-1;;;;;;4680:175:28:o;7489:835:24:-;515:9:39;;7575:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;7594:22:::2;7619:28;7636:10;7619:16;:28::i;:::-;7594:53;;7657:15;7675:35;7699:10;7675:23;:35::i;:::-;7657:53;;7774:15;7792:38;7815:14;7792:22;:38::i;:::-;7774:56;;7859:14;7848:7;:25;;7840:52;;;;-1:-1:-1::0;;;7840:52:24::2;;;;;;;;;7954:26;::::0;:46:::2;::::0;7985:14;7954:46:::2;:30;:46;:::i;:::-;7925:26;:75:::0;8010:37:::2;8027:10;8039:7:::0;8010:16:::2;:37::i;:::-;8057:54;8079:2:::0;8083:27:::2;:14:::0;8102:7;8083:27:::2;:18;:27;:::i;:::-;8057:21;:54::i;:::-;8121:25;8138:7;8121:16;:25::i;:::-;8183:2;-1:-1:-1::0;;;;;8162:55:24::2;8171:10;-1:-1:-1::0;;;;;8162:55:24::2;-1:-1:-1::0;;;;;;;;;;;8187:4:24::2;8193:14;8209:7;8162:55;;;;;;;;;;;;;;;;;8246:10;-1:-1:-1::0;;;;;8232:40:24::2;-1:-1:-1::0;;;;;;;;;;;8258:4:24::2;8264:7;8232:40;;;;;;;;3873:1392:26::0;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;3940:8:26;::::1;548:16:39::0;3940:8:26::1;3932:36;;;;-1:-1:-1::0;;;3932:36:26::1;;;;;;;;;3997:10;3987:21;::::0;;;:9:::1;:21;::::0;;;;;::::1;;3986:22;3978:50;;;;-1:-1:-1::0;;;3978:50:26::1;;;;;;;;;4048:10;4038:21;::::0;;;:9:::1;:21;::::0;;;;:28;;-1:-1:-1;;4038:28:26::1;4062:4;4038:28;::::0;;:21;4100:36:::1;::::0;:24:::1;:36::i;:::-;4077:59;;4146:19;4168:35;4192:10;4168:23;:35::i;:::-;4146:57:::0;-1:-1:-1;4214:19:26::1;4251:16:::0;;4247:134:::1;;4297:73;4347:22;:20;:22::i;:::-;4297:27;::::0;:45:::1;::::0;4329:12;4297:45:::1;:31;:45;:::i;:::-;:49:::0;:73:::1;:49;:73;:::i;:::-;4283:87;;4247:134;4390:18;4426:15:::0;;4422:129:::1;;4470:70;4518:21;:19;:21::i;:::-;4470:26;::::0;:43:::1;::::0;4501:11;4470:43:::1;:30;:43;:::i;:70::-;4457:83;;4422:129;4591:27;::::0;:44:::1;::::0;4623:11;4591:44:::1;:31;:44;:::i;:::-;4561:27;:74:::0;4674:26:::1;::::0;:42:::1;::::0;4705:10;4674:42:::1;:30;:42;:::i;:::-;4645:26;:71;;;;4741:75;4757:58;4773:11;4786:28;;4757:15;:58::i;:::-;4741:11:::0;;:75:::1;:15;:75;:::i;:::-;4727:89;;4839:75;4854:59;4870:12;4884:28;;4854:15;:59::i;:::-;4839:10:::0;;:75:::1;:14;:75;:::i;:::-;4826:88;;4925:45;4947:10;4959;4925:21;:45::i;:::-;4980:47;5003:10;5015:11;4980:22;:47::i;:::-;5051:20;::::0;5038:64:::1;::::0;-1:-1:-1;;;5038:64:26;;-1:-1:-1;;;;;5051:20:26;;::::1;::::0;5038:39:::1;::::0;:64:::1;::::0;5078:10:::1;::::0;5090:11;;5038:64:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5125:21:26::1;::::0;5112:66:::1;::::0;-1:-1:-1;;;5112:66:26;;-1:-1:-1;;;;;5125:21:26;;::::1;::::0;-1:-1:-1;5112:40:26::1;::::0;-1:-1:-1;5112:66:26::1;::::0;5153:10:::1;::::0;5165:12;;5112:66:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5206:10;-1:-1:-1::0;;;;;5194:48:26::1;;5218:10;5230:11;5194:48;;;;;;;;;;;;;;;;5252:7;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3873:1392:26:o;1688:42:27:-;;;;:::o;2758:97:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2824:16:22::1;:24:::0;;-1:-1:-1;;2824:24:22::1;::::0;;2758:97::o;1751:121:24:-;1806:7;1832:33;1846:10;1858:6;1832:13;:33::i;:::-;1825:40;1751:121;-1:-1:-1;;1751:121:24:o;3243:135:27:-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;9385:387:24;9445:17;9474:25;9502:22;:20;:22::i;:::-;9474:50;;9537:19;9560;:17;:19::i;:::-;9534:45;-1:-1:-1;;9593:22:24;9589:61;;9638:1;9631:8;;;;;;9589:61;9671:68;9721:17;9671:45;9704:11;9671:28;9696:2;9671:24;:28::i;:::-;:32;:45;:32;:45;:::i;:68::-;9659:80;9385:387;-1:-1:-1;;;;9385:387:24:o;2361:106:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2456:4:22::2;2430:30:::0;;-1:-1:-1;;;;2430:30:22::2;-1:-1:-1::0;;;2430:30:22::2;::::0;;2361:106::o;2545:161:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2623:41:26::1;2645:10;2657:6:::0;2623:21:::1;:41::i;:::-;2674:25;2692:6;2674:17;:25::i;:::-;-1:-1:-1::0;585:9:39;:17;;-1:-1:-1;;;;585:17:39;;;2545:161:26:o;1202:27:27:-;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;1101:274:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1209:74:22::1;1240:13;;1255:27;1209:74;;;;;;;;;;;;;;;;1293:13;:43:::0;;;1346:22:::1;:20;:22::i;:::-;;1101:274:::0;:::o;2418:847:24:-;515:9:39;;2555:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1278:23:24;::::1;548:16:39::0;1278:23:24::1;1270:61;;;;-1:-1:-1::0;;;1270:61:24::1;;;;;;;;;2581:19:::2;2604;:17;:19::i;:::-;2578:45;;;2633:25;2661:22;:20;:22::i;:::-;2633:50:::0;-1:-1:-1;2711:6:24;2731:22;2727:252:::2;;2837:23;:6:::0;2848:11;2837:23:::2;:10;:23;:::i;:::-;2827:33;;2727:252;;;2881:15:::0;;2877:102:::2;;2922:46;2956:11:::0;2922:29:::2;:6:::0;2933:17;2922:29:::2;:10;:29;:::i;:46::-;2912:56;;2877:102;3011:41;3033:10;3045:6;3011:21;:41::i;:::-;3062:30;3080:2;3084:7;3062:17;:30::i;:::-;3132:27;::::0;:39:::2;::::0;3164:6;3132:39:::2;:31;:39;:::i;:::-;3102:27;:69:::0;3187:47:::2;::::0;-1:-1:-1;;;;;3187:47:24;::::2;::::0;3195:10:::2;::::0;3187:47:::2;::::0;::::2;::::0;3211:5:::2;::::0;3218:6;;3226:7;;3187:47:::2;;;;;;;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3251:7:24;2418:847;-1:-1:-1;;;;;2418:847:24:o;2808:1006:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2885:4:26::2;2874:15:::0;;-1:-1:-1;;;;;;;;2874:15:26;;::::2;-1:-1:-1::0;;;2874:15:26::2;2980:23:::0;;;2874:15;3040:21:::2;:19;:21::i;:::-;3013:48;;3071:25;3099:22;:20;:22::i;:::-;3071:50;;3154:27;;3136:15;;:45;3132:316;;;3197:18;3218:48;3238:27;;3218:15;;:19;;:48;;;;:::i;:::-;3197:69;;3311:50;3332:10;3344:16;3311:20;:50::i;:::-;3280:28;:81:::0;-1:-1:-1;3132:316:26::2;;;3422:15;::::0;3392:27:::2;:45:::0;3132:316:::2;3479:26;;3462:14;;:43;3458:309;;;3521:17;3541:46;3560:26;;3541:14;;:18;;:46;;;;:::i;:::-;3521:66;;3632:50;3653:9;3664:17;3632:20;:50::i;:::-;3601:28;:81:::0;-1:-1:-1;3458:309:26::2;;;3742:14;::::0;3713:26:::2;:43:::0;3458:309:::2;-1:-1:-1::0;;3777:10:26::2;:30:::0;;-1:-1:-1;;3777:30:26::2;::::0;;2808:1006::o;1626:139:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1688:18:22::1;1696:3;;1701:4;1688:18;;;;;;;;;;;;;;;;1716:3;:10:::0;;;1736:22:::1;:20;:22::i;2055:41:27:-:0;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;769:94:22;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;836:8:22::1;:20:::0;;-1:-1:-1;;;;;;836:20:22::1;-1:-1:-1::0;;;;;836:20:22;;;::::1;::::0;;;::::1;::::0;;769:94::o;2796:147:27:-;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:30;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;3166:146:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3263:20:22::2;:42:::0;3166:146::o;2146:93::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2228:4:22::2;2210:22:::0;;-1:-1:-1;;;;2210:22:22::2;-1:-1:-1::0;;;2210:22:22::2;::::0;;2146:93::o;1477:1499:28:-;1031:15;;1669:7;;-1:-1:-1;;;1031:15:28;;;;1023:45;;;;-1:-1:-1;;;1023:45:28;;;;;;;;;1242:17:::1;::::0;::::1;::::0;::::1;;;1234:49;;;;-1:-1:-1::0;;;1234:49:28::1;;;;;;;;;1365:17:::2;;1350:11;:32;;1342:61;;;;-1:-1:-1::0;;;1342:61:28::2;;;;;;;;;515:9:39::3;::::0;-1:-1:-1;;;515:9:39;::::3;;;514:10;506:32;;;;-1:-1:-1::0;;;506:32:39::3;;;;;;;;;560:4;548:16:::0;;-1:-1:-1;;;;548:16:39::3;-1:-1:-1::0;;;548:16:39::3;::::0;;;;;;;;1931:27:28::4;1951:6:::0;1931:19:::4;:27::i;:::-;1711:247;;;;;;;;;;;;1992:15;1976:12;:31;;1968:72;;;;-1:-1:-1::0;;;1968:72:28::4;;;;;;;;;2076:48;2099:10;2111:12;2076:22;:48::i;:::-;2138:15:::0;;2134:113:::4;;2169:67;::::0;-1:-1:-1;;;2169:67:28;;2181:10:::4;::::0;2169:32:::4;::::0;:67:::4;::::0;2202:5:::4;::::0;2209:6;;2217:12;;2231:4;;;;2169:67:::4;;;;;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;2134:113;2256:40;2277:10;2289:6;2256:20;:40::i;:::-;2310:15:::0;;2306:165:::4;;2364:12;::::0;2341:48:::4;::::0;-1:-1:-1;;;;;2364:12:28::4;2378:10:::0;2341:22:::4;:48::i;:::-;2428:12;::::0;2408:52:::4;::::0;-1:-1:-1;;;;;2428:12:28;;::::4;::::0;2408:52:::4;::::0;::::4;::::0;2428:12:::4;::::0;2449:10;;2408:52:::4;;;;;;;;;;2306:165;2541:14;2510:27;;:45;2506:120;;2571:27;:44:::0;;;2506:120:::4;2669:13;2639:26;;:43;2635:116;;2698:26;:42:::0;;;2635:116:::4;2778:10;2764:24;;;;;;;;:10;::::0;::::4;;:24;::::0;::::4;;;;;;;2760:78;;2804:10;:23:::0;;2817:10;;2804;-1:-1:-1;;2804:23:28::4;::::0;2817:10;2804:23:::4;::::0;::::4;;;;;;;;;;;2760:78;2848:29;2866:10;2848:17;:29::i;:::-;2906:10;-1:-1:-1::0;;;;;2892:47:28::4;;2918:6;2926:12;2892:47;;;;;;;;;;;;;;;;-1:-1:-1::0;;585:9:39::3;:17:::0;;-1:-1:-1;;;;585:17:39::3;::::0;;-1:-1:-1;2957:12:28;;1477:1499;-1:-1:-1;;;;;;;1477:1499:28:o;1036:29:27:-;;;;;;;;;:::o;2861:93:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2924:16:22::2;:23:::0;;-1:-1:-1;;2924:23:22::2;2943:4;2924:23;::::0;;2861:93::o;869:110::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;944:12:22::1;:28:::0;;-1:-1:-1;;;;;;944:28:22::1;-1:-1:-1::0;;;;;944:28:22;;;::::1;::::0;;;::::1;::::0;;869:110::o;5363:1175:24:-;515:9:39;;5494:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;5547:18:::2;5571:19;:17;:19::i;:::-;5546:44;;;5600:24;5627:21;:19;:21::i;:::-;5600:48;;5685:1;5666:16;:20;5658:43;;;;-1:-1:-1::0;;;5658:43:24::2;;;;;;;;;5712:26;5741:48;5778:10:::0;5741:28:::2;:6:::0;5752:16;5741:28:::2;:10;:28;:::i;:48::-;5712:77;;5842:35;5866:10;5842:23;:35::i;:::-;5820:18;:57;;5799:138;;;;-1:-1:-1::0;;;5799:138:24::2;;;;;;;;;6001:15;6019:30;6042:6;6019:22;:30::i;:::-;6001:48;;6078:6;6067:7;:17;;6059:44;;;;-1:-1:-1::0;;;6059:44:24::2;;;;;;;;;6165:26;::::0;:38:::2;::::0;6196:6;6165:38:::2;:30;:38;:::i;:::-;6136:26;:67:::0;6213:48:::2;6230:10;6242:18:::0;6213:16:::2;:48::i;:::-;6271:46;6293:2:::0;6297:19:::2;:6:::0;6308:7;6297:19:::2;:10;:19;:::i;6271:46::-;6327:25;6344:7;6327:16;:25::i;:::-;-1:-1:-1::0;;;;;6368:71:24;::::2;6377:10;-1:-1:-1::0;;;;;;;;;;;6393:4:24::2;6399:19;:6:::0;6410:7;6399:19:::2;:10;:19;:::i;:::-;6420:18;6368:71;;;;;;;;;;;;;;;;;6468:10;-1:-1:-1::0;;;;;6454:40:24::2;-1:-1:-1::0;;;;;;;;;;;6480:4:24::2;6486:7;6454:40;;;;;;;;9000:379:::0;9059:17;9088:24;9115:21;:19;:21::i;:::-;9088:48;;9147:18;9171:19;:17;:19::i;:::-;-1:-1:-1;9146:44:24;-1:-1:-1;9204:21:24;9200:60;;9248:1;9241:8;;;;;;9200:60;9281:65;9329:16;9281:43;9313:10;9281:27;9305:2;9281:23;:27::i;3318:150:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3417:21:22::2;:44:::0;3318:150::o;1071:35:27:-;;;;:::o;4485:189:28:-;4552:20;4611:27;4631:6;4611:19;:27::i;1002:28:27:-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;3271:831:24:-;515:9:39;;3406:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1403:22:24;::::1;548:16:39::0;1403:22:24::1;1395:59;;;;-1:-1:-1::0;;;1395:59:24::1;;;;;;;;;3430:18:::2;3454:19;:17;:19::i;:::-;3429:44;;;3483:24;3510:21;:19;:21::i;:::-;3483:48:::0;-1:-1:-1;3559:6:24;3579:21;3575:246:::2;;3683:22;:6:::0;3694:10;3683:22:::2;:10;:22;:::i;:::-;3673:32;;3575:246;;;3726:14:::0;;3722:99:::2;;3766:44;3799:10:::0;3766:28:::2;:6:::0;3777:16;3766:28:::2;:10;:28;:::i;:44::-;3756:54;;3722:99;3853:40;3874:10;3886:6;3853:20;:40::i;:::-;3903:29;3920:2;3924:7;3903:16;:29::i;:::-;3971:26;::::0;:38:::2;::::0;4002:6;3971:38:::2;:30;:38;:::i;:::-;3942:26;:67:::0;4025:46:::2;::::0;-1:-1:-1;;;;;4025:46:24;::::2;::::0;4033:10:::2;::::0;4025:46:::2;::::0;::::2;::::0;4049:4:::2;::::0;4055:6;;4063:7;;4025:46:::2;;1511:28:27::0;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;2960:99:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;3027:17:22::1;:25:::0;;-1:-1:-1;;3027:25:22::1;::::0;;2960:99::o;1641:41:27:-;;;;:::o;2245:110:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2317:23:22::1;:31:::0;;-1:-1:-1;;;;2317:31:22::1;::::0;;2245:110::o;1878:125:24:-;1935:7;1961:35;1977:10;1989:6;1961:15;:35::i;1545:28:27:-;;;;:::o;5324:581:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;5415:12:26::1;::::0;-1:-1:-1;;;;;5406:21:26;;::::1;5415:12:::0;::::1;5406:21;5402:214;;;5517:14;::::0;:26:::1;::::0;5536:6;5517:26:::1;:18;:26;:::i;:::-;5475:12;::::0;5468:45:::1;::::0;-1:-1:-1;;;5468:45:26;;-1:-1:-1;;;;;5475:12:26;;::::1;::::0;5468:30:::1;::::0;:45:::1;::::0;5507:4:::1;::::0;5468:45:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;5443:162;;;;-1:-1:-1::0;;;5443:162:26::1;;;;;;;;;5638:13;::::0;-1:-1:-1;;;;;5629:22:26;;::::1;5638:13:::0;::::1;5629:22;5625:218;;;5742:15;::::0;:27:::1;::::0;5762:6;5742:27:::1;:19;:27;:::i;:::-;5699:13;::::0;5692:46:::1;::::0;-1:-1:-1;;;5692:46:26;;-1:-1:-1;;;;;5699:13:26;;::::1;::::0;5692:31:::1;::::0;:46:::1;::::0;5732:4:::1;::::0;5692:46:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:77;;5667:165;;;;-1:-1:-1::0;;;5667:165:26::1;;;;;;;;;5852:46;-1:-1:-1::0;;;;;5852:26:26;::::1;5879:10;5891:6:::0;5852:46:::1;:26;:46;:::i;2251:109:24:-:0;2297:7;2323:30;2342:10;2323:18;:30::i;798:35:27:-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;3065:95:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3129:17:22::2;:24:::0;;-1:-1:-1;;3129:24:22::2;;;::::0;;3065:95::o;2138:107:24:-;2183:7;2209:29;2227:10;2209:17;:29::i;1385:28:27:-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;2982:1447:28:-;1031:15;;3168:7;;-1:-1:-1;;;1031:15:28;;;;1023:45;;;;-1:-1:-1;;;1023:45:28;;;;;;;;;1135:16:::1;::::0;::::1;;1127:47;;;;-1:-1:-1::0;;;1127:47:28::1;;;;;;;;;1365:17:::2;;1350:11;:32;;1342:61;;;;-1:-1:-1::0;;;1342:61:28::2;;;;;;;;;515:9:39::3;::::0;-1:-1:-1;;;515:9:39;::::3;;;514:10;506:32;;;;-1:-1:-1::0;;;506:32:39::3;;;;;;;;;560:4;548:16:::0;;-1:-1:-1;;;;548:16:39::3;-1:-1:-1::0;;;548:16:39::3;::::0;;;;;;;;3424:26:28::4;3443:6:::0;3424:18:::4;:26::i;:::-;3210:240;;;;;;;;;;;;3480:11;3468:8;:23;;3460:58;;;;-1:-1:-1::0;;;3460:58:28::4;;;;;;;;;3554:41;3576:10;3588:6;3554:21;:41::i;:::-;3609:15:::0;;3605:108:::4;;3640:62;::::0;-1:-1:-1;;;3640:62:28;;3652:10:::4;::::0;3640:32:::4;::::0;:62:::4;::::0;3673:4:::4;::::0;3679:6;;3687:8;;3697:4;;;;3640:62:::4;;;;;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;3605:108;3722:43;3744:10;3756:8;3722:21;:43::i;:::-;3779:14:::0;;3775:160:::4;;3831:12;::::0;3809:46:::4;::::0;-1:-1:-1;;;;;3831:12:28::4;3845:9:::0;3809:21:::4;:46::i;:::-;3894:12;::::0;3874:50:::4;::::0;-1:-1:-1;;;;;3894:12:28;;::::4;::::0;3874:50:::4;::::0;::::4;::::0;3894:12;;3914:9;;3874:50:::4;;;;;;;;;;3775:160;4005:14;3974:27;;:45;3970:120;;4035:27;:44:::0;;;3970:120:::4;4133:13;4103:26;;:43;4099:116;;4162:26;:42:::0;;;4099:116:::4;4242:10;4228:24;;;;;;;;:10;::::0;::::4;;:24;::::0;::::4;;;;;;;4224:78;;4268:10;:23:::0;;4281:10;;4268;-1:-1:-1;;4268:23:28::4;::::0;4281:10;4268:23:::4;::::0;::::4;;;;;;;;;;;4224:78;4312:27;4329:9;4312:16;:27::i;:::-;4367:10;-1:-1:-1::0;;;;;4354:42:28::4;;4379:6;4387:8;4354:42;;;;;;;;1736:29:27::0;;;;:::o;1579:18::-;;;;:::o;2381:158:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2458:40:26::1;2479:10;2491:6:::0;2458:20:::1;:40::i;:::-;2508:24;2525:6;2508:16;:24::i;5504:799:25:-:0;5548:16;5577:18;5597:19;5620;:17;:19::i;:::-;5576:63;;-1:-1:-1;5576:63:25;-1:-1:-1;5667:23:25;5653:10;;;;:37;;;;;;;;;5649:648;;;5706:9;5718:134;5756:49;5789:15;;5756:28;5772:11;5756;:15;;:28;;;;:::i;:49::-;5823:15;;5718:20;:134::i;:::-;5706:146;;5870:53;5899:23;5915:3;;5920:1;5899:15;:23::i;:::-;5890:3;;5870:24;;379:6:36;;5870:24:25;:19;:24;:::i;:::-;:28;:53;:28;:53;:::i;:::-;5866:57;;5944:41;5965:16;:14;:16::i;:::-;5983:1;5944:20;:41::i;:::-;5937:48;;;;;;;5649:648;6016:9;6028:130;6066:46;6097:14;;6066:26;6081:10;6066;:14;;:26;;;;:::i;:46::-;6130:14;;6028:20;:130::i;:::-;6016:142;;6176:53;6205:23;6221:3;;6226:1;6205:15;:23::i;6176:53::-;6172:57;;6250:36;6266:16;:14;:16::i;:::-;6284:1;6250:15;:36::i;10748:963:24:-;10817:15;10862:14;;10852:6;:24;;10844:65;;;;-1:-1:-1;;;10844:65:24;;;;;;;;;10937:23;10923:10;;;;:37;;;;;;;;;10919:786;;;10976:18;10997:48;11017:27;;10997:15;;:19;;:48;;;;:::i;:::-;10976:69;;11059:13;11075:16;:14;:16::i;:::-;11059:32;;11105:18;11126:39;11147:10;11159:5;11126:20;:39::i;:::-;11105:60;;11179:18;11200:136;11259:14;;11291:3;;11312:10;11200:41;:136::i;:::-;11179:157;;11403:30;11436:148;11495:26;11514:6;11495:14;;:18;;:26;;;;:::i;597:1414:2:-;907:13;;-1:-1:-1;;;907:13:2;;;;906:14;898:43;;;;-1:-1:-1;;;898:43:2;;;;;;;;;967:4;951:20;;-1:-1:-1;;;;951:20:2;-1:-1:-1;;;951:20:2;;;;1005:15;;-1:-1:-1;;;;;1005:15:2;;;-1:-1:-1;;;;;;1005:15:2;;;;;;;;;;1035:41;;1068:7;;;951:20;1035:41;;951:20;;1035:41;1087:12;:25;;-1:-1:-1;;;;;;1087:25:2;;;-1:-1:-1;;;;;1087:25:2;;;;;;;;;;1122:12;:25;;;;;;;;;;1157:12;:24;;;;;;;;;;;;1191:13;:26;;;;;;;;;;1227:8;:17;;;;;;;;;;;;-1:-1:-1;1255:30:2;;-1:-1:-1;;;;1336:23:2;;;1369:17;:33;;;1466:16;:23;;1087:25;-1:-1:-1;;1466:23:2;;;;;;-1:-1:-1;;1499:24:2;;;;;;;-1:-1:-1;;;1627:30:2;;;-1:-1:-1;1667:31:2;;;1709:13;:25;;;1744:13;:25;;;1779:3;:7;;;1796:10;:30;;;;;;;;1868:29;;-1:-1:-1;;1884:12:2;;;;;1868:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:20:2;:61;;-1:-1:-1;;;;;;1837:61:2;-1:-1:-1;;;;;1837:61:2;;;;;;1956:13;;1940:30;;1956:13;;;1940:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1908:21:2;:63;;-1:-1:-1;;;;;;1908:63:2;-1:-1:-1;;;;;1908:63:2;;;;;;;;;;1982:22;:20;:22::i;:::-;;597:1414;;;;;;;;;;;:::o;1381:239:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1475:60:22::1;1499:13;;1514:20;1475:60;;;;;;;;;;;;;;;;1545:13;:36:::0;;;1591:22:::1;:20;:22::i;737:220:37:-:0;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;2009:123:24:-;2065:7;2091:34;2106:10;2118:6;2091:14;:34::i;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;1622:123:24;1678:7;1704:34;1719:10;1731:6;1704:14;:34::i;4819:679:25:-;4932:15;;4969:14;;4869:18;;;;;4997:10;;;;:31;;;;;;;;;4993:499;;;5052:26;;5080:27;;5044:64;;;;;;;;4993:499;5143:23;5129:10;;;;:37;;;;;;;;;5125:367;;;5182:21;5206:18;:16;:18::i;:::-;5246:26;;5182:42;;-1:-1:-1;5274:20:25;:1;5182:42;5274:20;:5;:20;:::i;:::-;5238:57;;;;;;;;;5125:367;5330:23;5316:10;;;;:37;;;;;;;;;5312:180;;;5369:20;5392:18;:16;:18::i;:::-;5369:41;-1:-1:-1;5432:19:25;:1;5369:41;5432:19;:5;:19;:::i;:::-;5453:27;;5424:57;;;;;;;;;5312:180;4819:679;;;;;:::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;8806:137:24:-;8895:21;;8882:54;;-1:-1:-1;;;8882:54:24;;-1:-1:-1;;;;;8895:21:24;;;;8882:40;;:54;;8923:4;;8929:6;;8882:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8806:137;;:::o;1763:187:26:-;1849:13;;1842:46;;-1:-1:-1;;;;;1849:13:26;1877:2;1881:6;1842:46;:34;:46;:::i;:::-;1916:15;;:27;;1936:6;1916:27;:19;:27;:::i;:::-;1898:15;:45;-1:-1:-1;;1763:187:26:o;2201:174::-;2293:27;;:39;;2325:6;2293:39;:31;:39;:::i;:::-;2263:27;:69;2347:21;;;;;;2354:6;;2362:5;;2347:21;;;;;;;;;;2201:174;:::o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;;;;392:115;-1:-1:-1;;;392:115:36:o;3310:569:35:-;3448:10;3504:12;3519:62;3539:37;3574:1;3539:30;3555:1;3558:10;3539:15;:30::i;:37::-;3578:2;3519:19;:62::i;:::-;3504:77;-1:-1:-1;3598:53:35;:46;379:6:36;3598:25:35;3504:77;379:6:36;3598:25:35;:8;:25;:::i;:46::-;:51;:53::i;:::-;3591:60;-1:-1:-1;3661:15:35;3679:56;3699:25;3591:60;379:6:36;3699:25:35;:8;:25;:::i;:::-;3726:8;:1;3732;3726:8;:5;:8;:::i;:::-;3679:19;:56::i;:::-;3661:74;-1:-1:-1;3823:49:35;3839:2;3843:28;379:6:36;3661:74:35;3843:28;:19;:28;:::i;:::-;3823:15;:49::i;:::-;3816:56;3310:569;-1:-1:-1;;;;;;3310:569:35:o;1074:157:41:-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;281:217::-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;648:280;710:7;729:16;748:9;752:1;755;748:3;:9::i;:::-;729:28;-1:-1:-1;791:12:41;;;787:16;;817:13;;813:109;;-1:-1:-1;864:1:41;853:12;;-1:-1:-1;846:19:41;;813:109;-1:-1:-1;903:8:41;-1:-1:-1;896:15:41;;7611:2308:28;7715:16;7745:17;7776;7807:24;7845:22;7881:21;7961:19;:17;:19::i;:::-;7927:53;;;;;;;;8050:38;8066:6;8074:13;;8050:15;:38::i;:::-;8038:50;;8110:38;8126:6;8134:13;;8110:15;:38::i;:::-;8098:50;-1:-1:-1;8158:21:28;8182:36;8098:50;8182:21;:6;8193:9;8182:21;:10;:21;:::i;:36::-;8158:60;-1:-1:-1;8247:17:28;8233:10;;;;:31;;;;;;;;;8229:1591;;;8318:47;8336:13;8351;8318:17;:47::i;:::-;8307:58;;8392:23;8379:36;;8229:1591;;;8450:23;8436:10;;;;:37;;;;;;;;;8432:1388;;;8527:65;8547:13;8562:14;;8578:13;8527:19;:65::i;8432:1388::-;8677:23;8663:10;;;;:37;;;;;;;;;8659:1161;;;8716:25;8744:35;8763:15;;8744:14;:18;;:35;;;;:::i;:::-;8716:63;;8793:28;8824:33;8843:13;8824:14;;:18;;:33;;;;:::i;:::-;8793:64;;8967:20;8951:13;:36;8947:863;;;9166:67;9186:13;9201:15;;9218:14;9166:19;:67::i;:::-;9155:78;;9264:23;9251:36;;8947:863;;;9329:20;9312:13;:37;9308:502;;;9433:17;9422:28;;9481:17;9468:30;;9308:502;;;9607:134;9650:73;9668:39;:13;9686:20;9668:39;:17;:39;:::i;:::-;9709:13;9650:17;:73::i;9607:134::-;9596:145;;9772:23;9759:36;;9308:502;8659:1161;;;-1:-1:-1;7611:2308:28;;;;;;;:::o;8665:135:24:-;8753:20;;8740:53;;-1:-1:-1;;;8740:53:24;;-1:-1:-1;;;;;8753:20:24;;;;8740:39;;:53;;8780:4;;8786:6;;8740:53;;;;1574:183:26;1659:12;;1652:45;;-1:-1:-1;;;;;1659:12:26;1686:2;1690:6;1652:45;:33;:45;:::i;:::-;1724:14;;:26;;1743:6;1724:26;:18;:26;:::i;:::-;1707:14;:43;-1:-1:-1;;1574:183:26:o;2025:170::-;2115:26;;:38;;2146:6;2115:38;:30;:38;:::i;:::-;2086:26;:67;2168:20;;;;;;2175:6;;2183:4;;2168:20;;504:138:41;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;1222:346:26;1354:21;;1323:15;;:27;;1343:6;1323:27;:19;:27;:::i;:::-;:52;;1302:127;;;;-1:-1:-1;;;1302:127:26;;;;;;;;;1446:13;;1439:67;;-1:-1:-1;;;;;1446:13:26;1478:4;1492;1499:6;1439:67;:38;:67;:::i;:::-;1534:15;;:27;;1554:6;1534:27;:19;:27;:::i;2440:236:27:-;2495:7;379:6:36;2522:3:27;;:21;2514:38;;;;-1:-1:-1;;;2514:38:27;;;;;;;;;2576:1;2570:3;;:7;2562:23;;;;-1:-1:-1;;;2562:23:27;;;;;;;;;379:6:36;2603:32:27;2621:13;;2603;;:17;;:32;;;;:::i;:::-;:50;2595:74;;;;-1:-1:-1;;;2595:74:27;;;;;;;;8522:137:24;8611:21;;8598:54;;-1:-1:-1;;;8598:54:24;;-1:-1:-1;;;;;8611:21:24;;;;8598:40;;:54;;8639:4;;8645:6;;8598:54;;;;645:123:36;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;4861:2744:28:-;4966:20;5000:18;5032;5064:24;5102:22;5138:21;5218:19;:17;:19::i;:::-;5184:53;-1:-1:-1;5184:53:28;-1:-1:-1;5273:6:28;5248:22;5294:10;;;;:31;;;;;;;;;5290:1984;;;5416:50;5435:14;5451;5416:18;:50::i;:::-;5401:65;;5493:23;5480:36;;5290:1984;;;5551:23;5537:10;;;;:37;;;;;;;;;5533:1741;;;5590:24;5617:33;5635:14;;5617:13;:17;;:33;;;;:::i;:::-;5590:60;;5664:29;5696:35;5716:14;5696:15;;:19;;:35;;;;:::i;:::-;5664:67;;5857:16;5840:14;:33;5836:1183;;;5960:67;5981:14;5997;;6013:13;5960:20;:67::i;:::-;5945:82;;6058:23;6045:36;;6118:21;6103:12;:36;6099:386;;;6445:21;6430:36;;6099:386;5836:1183;;;6527:16;6509:14;:34;6505:514;;;6631:21;6616:36;;6683:17;6670:30;;6505:514;;;6813:137;6860:72;6879:36;:14;6898:16;6879:36;:18;:36;:::i;:::-;6917:14;6860:18;:72::i;6813:137::-;6798:152;;6981:23;6968:36;;6505:514;5533:1741;;;;;7144:69;7165:14;7181:15;;7198:14;7144:20;:69::i;:::-;7129:84;;7240:23;7227:36;;5533:1741;7319:44;7335:12;7349:13;;7319:15;:44::i;:::-;7306:57;;7386:44;7402:12;7416:13;;7386:15;:44::i;:::-;7373:57;-1:-1:-1;7455:44:28;7373:57;7455:28;:12;7472:10;7455:28;:16;:28;:::i;:::-;:32;:44;:32;:44;:::i;:::-;7440:59;-1:-1:-1;;4861:2744:28;;;;;;;:::o;911:305:26:-;1028:20;;998:14;;:26;;1017:6;998:26;:18;:26;:::i;:::-;:50;;990:90;;;;-1:-1:-1;;;990:90:26;;;;;;;;;1097:12;;1090:66;;-1:-1:-1;;;;;1097:12:26;1128:4;1142;1149:6;1090:66;:37;:66;:::i;:::-;1183:14;;:26;;1202:6;1183:26;:18;:26;:::i;8381:135:24:-;8469:20;;8456:53;;-1:-1:-1;;;8456:53:24;;-1:-1:-1;;;;;8469:20:24;;;;8456:39;;:53;;8496:4;;8502:6;;8456:53;;;;804:205:40;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;2736:578:25:-;2787:21;2927:17;2947:46;2966:26;;2947:14;;:18;;:46;;;;:::i;:::-;2927:66;;3003:13;3019:16;:14;:16::i;:::-;3003:32;;3045:18;3066:33;3082:9;3093:5;3066:15;:33::i;:::-;3045:54;;3109:22;3134:121;3189:15;;3218:3;;3235:10;3134:41;:121::i;:::-;3109:146;;3272:35;3291:15;;3272:14;:18;;:35;;;;:::i;:::-;3265:42;;;;;;2736:578;:::o;4180:582::-;4231:20;4370:18;4391:48;4411:27;;4391:15;;:19;;:48;;;;:::i;:::-;4370:69;;4449:13;4465:16;:14;:16::i;:::-;4449:32;;4491:18;4512:39;4533:10;4545:5;4512:20;:39::i;:::-;4491:60;;4561:21;4585:120;4640:14;;4668:3;;4685:10;4585:41;:120::i;:::-;4561:144;;4722:33;4740:14;;4722:13;:17;;:33;;;;:::i;774:126:36:-;841:7;867:26;891:1;867:15;:6;379;867:15;:10;:15;:::i;1237:198:41:-;1318:1;1326;1322;1318:5;;:9;1352:77;1363:1;1359;:5;1352:77;;;1384:1;1380:5;;1417:1;1412;1408;1404;:5;;;;;;:9;1403:15;;;;;;1399:19;;1352:77;;;1237:198;;;;:::o;1183:414:25:-;1304:21;1358;1349:6;:30;1341:71;;;;-1:-1:-1;;;1341:71:25;;;;;;;;;1422:10;1435:33;:21;1461:6;1435:33;:25;:33;:::i;:::-;1422:46;;1494:66;1511:21;1534;1557:2;1494:16;:66::i;3366:360::-;3511:21;3561:11;3552:6;:20;3544:61;;;;-1:-1:-1;;;3544:61:25;;;;;;;;;3615:10;3628:23;:11;3644:6;3628:23;:15;:23;:::i;:::-;3615:36;;3668:51;3685:16;3703:11;3716:2;3668:16;:51::i;:::-;3661:58;3366:360;-1:-1:-1;;;;;3366:360:25:o;2117:613::-;2264:21;2449:9;2461:16;:14;:16::i;:::-;2449:28;;2487:10;2500:186;2554:17;2585:12;2611:30;2631:1;2634:6;2611:19;:30::i;:::-;2655:4;2673:3;;2500:40;:186::i;:::-;2487:199;-1:-1:-1;2703:20:25;2487:199;2710:12;2703:20;:6;:20;:::i;1015:275:40:-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;1153:130;1015:275;;;;:::o;557:620:25:-;680:25;721:9;733:16;:14;:16::i;:::-;721:28;;759:10;772:198;826:22;862;898:26;914:1;917:6;898:15;:26::i;:::-;938:5;957:3;;772:40;:198::i;:::-;759:211;-1:-1:-1;1140:30:25;:22;759:211;1140:30;:26;:30;:::i;3732:442::-;3878:25;;4076:23;:11;4092:6;4076:23;:15;:23;:::i;:::-;4063:36;;4116:51;4133:16;4151:2;4155:11;4116:16;:51::i;1649:462::-;1797:24;1833:9;1845:16;:14;:16::i;:::-;1833:28;;1871:10;1884:183;1938:17;1969:12;1995:26;2011:1;2014:6;1995:15;:26::i;1884:183::-;1871:196;-1:-1:-1;2084:20:25;:12;1871:196;2084:20;:16;:20;:::i;2335:1027:40:-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;6309:232:25;6424:7;6443:9;6455:16;:14;:16::i;:::-;6443:28;;6488:46;6515:2;6519;6523;6527:1;6530:3;;6488:26;:46::i;513:126:36:-;580:7;606:26;379:6;606:13;:6;617:1;606:13;:10;:13;:::i;1608:1507:35:-;1786:7;1885:14;1902:38;1937:2;1902:30;1929:2;1902:22;1918:1;1921:2;1902:15;:22::i;:38::-;1885:55;-1:-1:-1;1962:9:35;1974:43;1990:22;379:6:36;2010:1:35;1990:22;:19;:22;:::i;:::-;2014:2;1974:15;:43::i;:::-;1962:55;-1:-1:-1;2055:4:35;2069:158;;;;2102:14;:1;2108:7;2102:14;:5;:14;:::i;:::-;2098:18;;2069:158;;;2176:19;:6;2187:7;2176:19;:10;:19;:::i;:::-;2167:28;;2069:158;2245:6;2240:1;:11;2236:168;;2271:13;:1;2277:6;2271:13;:5;:13;:::i;:::-;2267:17;;2310:4;2298:16;;2236:168;;;2349:13;:6;2360:1;2349:13;:10;:13;:::i;:::-;2345:17;;2388:5;2376:17;;2236:168;2440:18;2461:112;2490:29;2517:1;2490:22;379:6:36;2510:1:35;2490:22;:19;:22;:::i;:29::-;2533:30;2560:2;2533:22;2549:1;2552:2;2533:15;:22::i;2461:112::-;2440:133;-1:-1:-1;2611:31:35;:24;2440:133;2611:8;2617:1;;2611:8;:5;:8;:::i;:31::-;2598:44;-1:-1:-1;2700:19:35;2722:29;2749:1;2722:22;379:6:36;2742:1:35;2722:22;:19;:22;:::i;:29::-;2700:51;;2771:17;2802:9;2798:129;;;2839:17;:1;2845:10;2839:17;:5;:17;:::i;:::-;2827:29;;2798:129;;;2899:17;:10;2914:1;2899:17;:14;:17;:::i;:::-;2887:29;;2798:129;2941:9;2937:172;;;2973:44;2994:9;3005:11;2973:20;:44::i;:::-;2966:51;;;;;;;;;;2937:172;3055:43;3075:9;3086:11;3055:19;:43::i;634:468::-;788:7;;828:30;844:1;847:10;:2;854;847:10;:6;:10;:::i;828:30::-;807:51;-1:-1:-1;879:16:35;898:43;918:18;933:2;918:10;925:2;;918:10;:6;:10;:::i;:18::-;938:2;898:19;:43::i;:::-;879:62;;951:15;969:28;985:1;988:8;969:15;:28::i;:::-;951:46;-1:-1:-1;1031:64:35;1047:10;1059:35;951:46;1059:22;379:6:36;1079:1:35;1059:22;:19;:22;:::i;1031:64::-;1024:71;634:468;-1:-1:-1;;;;;;;;;634:468:35:o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;-1:-1;;;;;37486:54;;38855:35;;38845:2;;38904:1;;38894:12;913:241;;1017:2;1005:9;996:7;992:23;988:32;985:2;;;-1:-1;;1023:12;985:2;1085:53;1130:7;1106:22;1085:53;;1161:1373;;;;;;;;;;;1418:3;1406:9;1397:7;1393:23;1389:33;1386:2;;;-1:-1;;1425:12;1386:2;1487:53;1532:7;1508:22;1487:53;;;1477:63;;1595:53;1640:7;1577:2;1620:9;1616:22;1595:53;;;1585:63;;1703:53;1748:7;1685:2;1728:9;1724:22;1703:53;;;1693:63;;1811:53;1856:7;1793:2;1836:9;1832:22;1811:53;;;1801:63;;1920:53;1965:7;1901:3;1945:9;1941:22;1920:53;;;1910:63;;2029:53;2074:7;2010:3;2054:9;2050:22;2029:53;;;2019:63;;2119:3;2163:9;2159:22;702:20;2128:63;;2228:3;2272:9;2268:22;702:20;2237:63;;2337:3;2381:9;2377:22;702:20;2346:63;;2446:3;2490:9;2486:22;702:20;2455:63;;1380:1154;;;;;;;;;;;;;;2541:366;;;2662:2;2650:9;2641:7;2637:23;2633:32;2630:2;;;-1:-1;;2668:12;2630:2;2730:53;2775:7;2751:22;2730:53;;;2720:63;2820:2;2859:22;;;;702:20;;-1:-1;;;2624:283;2914:257;;3026:2;3014:9;3005:7;3001:23;2997:32;2994:2;;;-1:-1;;3032:12;2994:2;223:6;217:13;39001:5;37259:13;37252:21;38979:5;38976:32;38966:2;;-1:-1;;39012:12;3178:241;;3282:2;3270:9;3261:7;3257:23;3253:32;3250:2;;;-1:-1;;3288:12;3250:2;-1:-1;702:20;;3244:175;-1:-1;3244:175;3426:263;;3541:2;3529:9;3520:7;3516:23;3512:32;3509:2;;;-1:-1;;3547:12;3509:2;-1:-1;850:13;;3503:186;-1:-1;3503:186;3696:615;;;;;3853:2;3841:9;3832:7;3828:23;3824:32;3821:2;;;-1:-1;;3859:12;3821:2;715:6;702:20;3911:63;;4011:2;4054:9;4050:22;702:20;4019:63;;4147:2;4136:9;4132:18;4119:32;4171:18;;4163:6;4160:30;4157:2;;;-1:-1;;4193:12;4157:2;4278:6;4267:9;4263:22;405:3;398:4;390:6;386:17;382:27;372:2;;-1:-1;;413:12;372:2;456:6;443:20;433:30;;4171:18;475:6;472:30;469:2;;;-1:-1;;505:12;469:2;600:3;4011:2;580:17;541:6;566:32;;563:41;560:2;;;-1:-1;;607:12;560:2;3815:496;;;;-1:-1;;4011:2;537:17;;;;-1:-1;;;3815:496;17225:271;;5186:5;36558:12;-1:-1;38376:101;38390:6;38387:1;38384:13;38376:101;;;5330:4;38457:11;;;;;38451:18;38438:11;;;38431:39;38405:10;38376:101;;;38492:6;38489:1;38486:13;38483:2;;;-1:-1;38548:6;38543:3;38539:16;38532:27;38483:2;-1:-1;5361:16;;;;;17359:137;-1:-1;;17359:137;17503:222;-1:-1;;;;;37486:54;;;;4538:37;;17630:2;17615:18;;17601:124;17732:349;-1:-1;;;;;37486:54;;;;4397:58;;18067:2;18052:18;;17176:37;17895:2;17880:18;;17866:215;18088:444;-1:-1;;;;;37486:54;;;4538:37;;37486:54;;;;18435:2;18420:18;;4538:37;18518:2;18503:18;;17176:37;;;;18271:2;18256:18;;18242:290;18879:210;37259:13;;37252:21;4652:34;;19000:2;18985:18;;18971:118;19096:321;37259:13;;37252:21;4652:34;;19403:2;19388:18;;17176:37;19245:2;19230:18;;19216:201;19424:432;37259:13;;37252:21;4652:34;;19759:2;19744:18;;17176:37;;;;19842:2;19827:18;;17176:37;19601:2;19586:18;;19572:284;19863:648;;4679:5;37259:13;37252:21;4659:3;4652:34;17206:5;20255:2;20244:9;20240:18;17176:37;17206:5;20338:2;20327:9;20323:18;17176:37;20096:3;20375:2;20364:9;20360:18;20353:48;36714:6;20096:3;20085:9;20081:19;36702;38231:6;38226:3;36742:14;20085:9;36742:14;38208:30;38269:16;;;36742:14;38269:16;;;38262:27;;;;38664:7;38648:14;;;-1:-1;;38644:28;4973:39;;;20067:444;-1:-1;;;;20067:444;20518:244;20656:2;20641:18;;38767:1;38757:12;;38747:2;;38773:9;38747:2;5471:61;;;20627:135;;20769:416;20969:2;20983:47;;;5769:2;20954:18;;;36702:19;5805:31;36742:14;;;5785:52;5856:12;;;20940:245;21192:416;21392:2;21406:47;;;6107:1;21377:18;;;36702:19;-1:-1;;;36742:14;;;6122:26;6167:12;;;21363:245;21615:416;21815:2;21829:47;;;6418:2;21800:18;;;36702:19;-1:-1;;;36742:14;;;6434:36;6489:12;;;21786:245;22038:416;22238:2;22252:47;;;6740:2;22223:18;;;36702:19;-1:-1;;;36742:14;;;6756:33;6808:12;;;22209:245;22461:416;22661:2;22675:47;;;7059:2;22646:18;;;36702:19;7095:26;36742:14;;;7075:47;7141:12;;;22632:245;22884:416;23084:2;23098:47;;;7392:2;23069:18;;;36702:19;7428:27;36742:14;;;7408:48;7475:12;;;23055:245;23307:416;23507:2;23521:47;;;7726:1;23492:18;;;36702:19;-1:-1;;;36742:14;;;7741:32;7792:12;;;23478:245;23730:416;23930:2;23944:47;;;8043:2;23915:18;;;36702:19;-1:-1;;;36742:14;;;8059:34;8112:12;;;23901:245;24153:416;24353:2;24367:47;;;8363:2;24338:18;;;36702:19;8399:30;36742:14;;;8379:51;8449:12;;;24324:245;24576:416;24776:2;24790:47;;;24761:18;;;36702:19;8736:34;36742:14;;;8716:55;8790:12;;;24747:245;24999:416;25199:2;25213:47;;;9041:2;25184:18;;;36702:19;-1:-1;;;36742:14;;;9057:37;9113:12;;;25170:245;25422:416;25622:2;25636:47;;;9364:2;25607:18;;;36702:19;9400:34;36742:14;;;9380:55;-1:-1;;;9455:12;;;9448:27;9494:12;;;25593:245;25845:416;26045:2;26059:47;;;9745:2;26030:18;;;36702:19;9781:25;36742:14;;;9761:46;9826:12;;;26016:245;26268:416;26468:2;26482:47;;;10077:2;26453:18;;;36702:19;10113:29;36742:14;;;10093:50;10162:12;;;26439:245;26691:416;26891:2;26905:47;;;10413:1;26876:18;;;36702:19;-1:-1;;;36742:14;;;10428:32;10479:12;;;26862:245;27114:416;27314:2;27328:47;;;10730:2;27299:18;;;36702:19;-1:-1;;;36742:14;;;10746:39;10804:12;;;27285:245;27537:416;27737:2;27751:47;;;11055:2;27722:18;;;36702:19;11091:30;36742:14;;;11071:51;11141:12;;;27708:245;27960:416;28160:2;28174:47;;;11392:2;28145:18;;;36702:19;-1:-1;;;36742:14;;;11408:40;11467:12;;;28131:245;28383:416;28583:2;28597:47;;;11718:2;28568:18;;;36702:19;-1:-1;;;36742:14;;;11734:36;11789:12;;;28554:245;28806:416;29006:2;29020:47;;;12040:2;28991:18;;;36702:19;-1:-1;;;36742:14;;;12056:37;12112:12;;;28977:245;29229:416;29429:2;29443:47;;;12363:2;29414:18;;;36702:19;-1:-1;;;36742:14;;;12379:34;12432:12;;;29400:245;29652:416;29852:2;29866:47;;;12683:2;29837:18;;;36702:19;-1:-1;;;36742:14;;;12699:42;12760:12;;;29823:245;30075:416;30275:2;30289:47;;;13011:2;30260:18;;;36702:19;-1:-1;;;36742:14;;;13027:34;13080:12;;;30246:245;30498:416;30698:2;30712:47;;;13331:1;30683:18;;;36702:19;-1:-1;;;36742:14;;;13346:32;13397:12;;;30669:245;30921:416;31121:2;31135:47;;;13648:1;31106:18;;;36702:19;-1:-1;;;36742:14;;;13663:32;13714:12;;;31092:245;31344:416;31544:2;31558:47;;;13965:2;31529:18;;;36702:19;14001:34;36742:14;;;13981:55;-1:-1;;;14056:12;;;14049:34;14102:12;;;31515:245;31767:416;31967:2;31981:47;;;14353:2;31952:18;;;36702:19;14389:34;36742:14;;;14369:55;-1:-1;;;14444:12;;;14437:26;14482:12;;;31938:245;32190:416;32390:2;32404:47;;;14733:2;32375:18;;;36702:19;14769:30;36742:14;;;14749:51;14819:12;;;32361:245;32613:416;32813:2;32827:47;;;15070:2;32798:18;;;36702:19;-1:-1;;;36742:14;;;15086:45;15150:12;;;32784:245;33036:416;33236:2;33250:47;;;15401:1;33221:18;;;36702:19;-1:-1;;;36742:14;;;15416:32;15467:12;;;33207:245;33459:416;33659:2;33673:47;;;15718:1;33644:18;;;36702:19;-1:-1;;;36742:14;;;15733:27;15779:12;;;33630:245;33882:416;34082:2;34096:47;;;16030:2;34067:18;;;36702:19;-1:-1;;;36742:14;;;16046:39;16104:12;;;34053:245;34305:416;34505:2;34519:47;;;16355:2;34490:18;;;36702:19;-1:-1;;;36742:14;;;16371:38;16428:12;;;34476:245;34728:416;34928:2;34942:47;;;16679:2;34913:18;;;36702:19;-1:-1;;;36742:14;;;16695:38;16752:12;;;34899:245;35151:416;35351:2;35365:47;;;17003:2;35336:18;;;36702:19;-1:-1;;;36742:14;;;17019:41;17079:12;;;35322:245;35574:222;17176:37;;;35701:2;35686:18;;35672:124;35803:321;17176:37;;;37259:13;37252:21;36110:2;36095:18;;4652:34;35952:2;35937:18;;35923:201;36131:333;17176:37;;;36450:2;36435:18;;17176:37;36286:2;36271:18;;36257:207", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Types} from \"./lib/Types.sol\";\nimport {IERC20} from \"./intf/IERC20.sol\";\nimport {Storage} from \"./impl/Storage.sol\";\nimport {Trader} from \"./impl/Trader.sol\";\nimport {LiquidityProvider} from \"./impl/LiquidityProvider.sol\";\nimport {Admin} from \"./impl/Admin.sol\";\nimport {DODOLpToken} from \"./impl/DODOLpToken.sol\";\n\n\n/**\n * @title DODO\n * @author DODO Breeder\n *\n * @notice Entrance for users\n */\ncontract DODO is Admin, Trader, LiquidityProvider {\n function init(\n address owner,\n address supervisor,\n address maintainer,\n address baseToken,\n address quoteToken,\n address oracle,\n uint256 lpFeeRate,\n uint256 mtFeeRate,\n uint256 k,\n uint256 gasPriceLimit\n ) external {\n require(!_INITIALIZED_, \"DODO_INITIALIZED\");\n _INITIALIZED_ = true;\n\n // constructor\n _OWNER_ = owner;\n emit OwnershipTransferred(address(0), _OWNER_);\n\n _SUPERVISOR_ = supervisor;\n _MAINTAINER_ = maintainer;\n _BASE_TOKEN_ = baseToken;\n _QUOTE_TOKEN_ = quoteToken;\n _ORACLE_ = oracle;\n\n _DEPOSIT_BASE_ALLOWED_ = false;\n _DEPOSIT_QUOTE_ALLOWED_ = false;\n _TRADE_ALLOWED_ = false;\n _GAS_PRICE_LIMIT_ = gasPriceLimit;\n\n // Advanced controls are disabled by default\n _BUYING_ALLOWED_ = true;\n _SELLING_ALLOWED_ = true;\n uint256 MAX_INT = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;\n _BASE_BALANCE_LIMIT_ = MAX_INT;\n _QUOTE_BALANCE_LIMIT_ = MAX_INT;\n\n _LP_FEE_RATE_ = lpFeeRate;\n _MT_FEE_RATE_ = mtFeeRate;\n _K_ = k;\n _R_STATUS_ = Types.RStatus.ONE;\n\n _BASE_CAPITAL_TOKEN_ = address(new DODOLpToken(_BASE_TOKEN_));\n _QUOTE_CAPITAL_TOKEN_ = address(new DODOLpToken(_QUOTE_TOKEN_));\n\n _checkDODOParameters();\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol", - "exportedSymbols": { - "DODO": [ - 1690 - ] - }, - "id": 1691, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1524, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:2" - }, - { - "id": 1525, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:2" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "./lib/Types.sol", - "id": 1527, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 11632, - "src": "136:38:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1526, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:5:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "./intf/IERC20.sol", - "id": 1529, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 10608, - "src": "175:41:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1528, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "183:6:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./impl/Storage.sol", - "id": 1531, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 9614, - "src": "217:43:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1530, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "225:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol", - "file": "./impl/Trader.sol", - "id": 1533, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 10352, - "src": "261:41:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1532, - "name": "Trader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "269:6:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol", - "file": "./impl/LiquidityProvider.sol", - "id": 1535, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 8370, - "src": "303:63:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1534, - "name": "LiquidityProvider", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "311:17:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol", - "file": "./impl/Admin.sol", - "id": 1537, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 6964, - "src": "367:39:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1536, - "name": "Admin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "375:5:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol", - "file": "./impl/DODOLpToken.sol", - "id": 1539, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 7348, - "src": "407:51:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1538, - "name": "DODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "415:11:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1541, - "name": "Admin", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6963, - "src": "558:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Admin_$6963", - "typeString": "contract Admin" - } - }, - "id": 1542, - "nodeType": "InheritanceSpecifier", - "src": "558:5:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1543, - "name": "Trader", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10351, - "src": "565:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Trader_$10351", - "typeString": "contract Trader" - } - }, - "id": 1544, - "nodeType": "InheritanceSpecifier", - "src": "565:6:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1545, - "name": "LiquidityProvider", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8369, - "src": "573:17:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_LiquidityProvider_$8369", - "typeString": "contract LiquidityProvider" - } - }, - "id": 1546, - "nodeType": "InheritanceSpecifier", - "src": "573:17:2" - } - ], - "contractDependencies": [ - 6963, - 7347, - 8369, - 8853, - 9396, - 9613, - 10351, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 1540, - "nodeType": "StructuredDocumentation", - "src": "461:79:2", - "text": " @title DODO\n @author DODO Breeder\n @notice Entrance for users" - }, - "fullyImplemented": true, - "id": 1690, - "linearizedBaseContracts": [ - 1690, - 8369, - 10351, - 9396, - 8853, - 6963, - 9613, - 11296, - 11166 - ], - "name": "DODO", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1688, - "nodeType": "Block", - "src": "888:1123:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "906:14:2", - "subExpression": { - "argumentTypes": null, - "id": 1570, - "name": "_INITIALIZED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9423, - "src": "907:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f494e495449414c495a4544", - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "922:18:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7", - "typeString": "literal_string \"DODO_INITIALIZED\"" - }, - "value": "DODO_INITIALIZED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7", - "typeString": "literal_string \"DODO_INITIALIZED\"" - } - ], - "id": 1569, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "898:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:43:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1574, - "nodeType": "ExpressionStatement", - "src": "898:43:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1575, - "name": "_INITIALIZED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9423, - "src": "951:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "967:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "951:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1578, - "nodeType": "ExpressionStatement", - "src": "951:20:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1579, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1005:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1580, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1548, - "src": "1015:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1005:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1582, - "nodeType": "ExpressionStatement", - "src": "1005:15:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1056:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1056:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1056:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1588, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1068:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1583, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11098, - "src": "1035:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1035:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1590, - "nodeType": "EmitStatement", - "src": "1030:46:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1591, - "name": "_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "1087:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1592, - "name": "supervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1550, - "src": "1102:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1087:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1594, - "nodeType": "ExpressionStatement", - "src": "1087:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1595, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "1122:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1596, - "name": "maintainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1137:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1122:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1598, - "nodeType": "ExpressionStatement", - "src": "1122:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1599, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1157:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1600, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "1172:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1157:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1602, - "nodeType": "ExpressionStatement", - "src": "1157:24:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1603, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1191:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1604, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1556, - "src": "1207:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1191:26:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1606, - "nodeType": "ExpressionStatement", - "src": "1191:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1607, - "name": "_ORACLE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9451, - "src": "1227:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1608, - "name": "oracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1558, - "src": "1238:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1227:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1610, - "nodeType": "ExpressionStatement", - "src": "1227:17:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1611, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "1255:22:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1280:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1255:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1614, - "nodeType": "ExpressionStatement", - "src": "1255:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1615, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "1295:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1321:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1295:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1618, - "nodeType": "ExpressionStatement", - "src": "1295:31:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1619, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "1336:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1354:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1336:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1622, - "nodeType": "ExpressionStatement", - "src": "1336:23:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1623, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1369:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1624, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1566, - "src": "1389:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1369:33:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1626, - "nodeType": "ExpressionStatement", - "src": "1369:33:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1627, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "1466:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1485:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1466:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1630, - "nodeType": "ExpressionStatement", - "src": "1466:23:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1631, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "1499:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1519:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1499:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1634, - "nodeType": "ExpressionStatement", - "src": "1499:24:2" - }, - { - "assignments": [ - 1636 - ], - "declarations": [ - { - "constant": false, - "id": 1636, - "mutability": "mutable", - "name": "MAX_INT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1688, - "src": "1533:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1533:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1638, - "initialValue": { - "argumentTypes": null, - "hexValue": "307866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666", - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1551:66:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1533:84:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1639, - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9439, - "src": "1627:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1640, - "name": "MAX_INT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1650:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1627:30:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1642, - "nodeType": "ExpressionStatement", - "src": "1627:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1643, - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "1667:21:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1644, - "name": "MAX_INT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1691:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1667:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1646, - "nodeType": "ExpressionStatement", - "src": "1667:31:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1647, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "1709:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1648, - "name": "lpFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1560, - "src": "1725:9:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1709:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1650, - "nodeType": "ExpressionStatement", - "src": "1709:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1651, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "1744:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1652, - "name": "mtFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1562, - "src": "1760:9:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1744:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1654, - "nodeType": "ExpressionStatement", - "src": "1744:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1655, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "1779:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1656, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1564, - "src": "1785:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1779:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1658, - "nodeType": "ExpressionStatement", - "src": "1779:7:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1659, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "1796:10:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1660, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "1809:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 1661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "1809:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1809:17:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "1796:30:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 1664, - "nodeType": "ExpressionStatement", - "src": "1796:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1665, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "1837:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1670, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1884:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1868:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$", - "typeString": "function (address) returns (contract DODOLpToken)" - }, - "typeName": { - "contractScope": null, - "id": 1668, - "name": "DODOLpToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7347, - "src": "1872:11:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - }, - "id": 1671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - ], - "id": 1667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1860:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1666, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1860:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1860:38:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1837:61:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1674, - "nodeType": "ExpressionStatement", - "src": "1837:61:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1675, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "1908:21:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1680, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1956:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1940:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$", - "typeString": "function (address) returns (contract DODOLpToken)" - }, - "typeName": { - "contractScope": null, - "id": 1678, - "name": "DODOLpToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7347, - "src": "1944:11:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1940:30:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - ], - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1932:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1932:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1908:63:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1684, - "nodeType": "ExpressionStatement", - "src": "1908:63:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1685, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1982:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1982:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1687, - "nodeType": "ExpressionStatement", - "src": "1982:22:2" - } - ] - }, - "documentation": null, - "functionSelector": "f00f9a09", - "id": 1689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1548, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "620:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "620:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1550, - "mutability": "mutable", - "name": "supervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "643:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "643:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1552, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "671:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "671:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1554, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "699:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1553, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "699:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1556, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "726:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "726:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1558, - "mutability": "mutable", - "name": "oracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "754:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "754:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1560, - "mutability": "mutable", - "name": "lpFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "778:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "778:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1562, - "mutability": "mutable", - "name": "mtFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "805:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "805:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1564, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "832:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "832:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1566, - "mutability": "mutable", - "name": "gasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "851:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "851:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "610:268:2" - }, - "returnParameters": { - "id": 1568, - "nodeType": "ParameterList", - "parameters": [], - "src": "888:0:2" - }, - "scope": 1690, - "src": "597:1414:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1691, - "src": "541:1472:2" - } - ], - "src": "78:1936:2" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol", - "exportedSymbols": { - "DODO": [ - 1690 - ] - }, - "id": 1691, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1524, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:2" - }, - { - "id": 1525, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:2" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "./lib/Types.sol", - "id": 1527, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 11632, - "src": "136:38:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1526, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:5:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "./intf/IERC20.sol", - "id": 1529, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 10608, - "src": "175:41:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1528, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "183:6:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./impl/Storage.sol", - "id": 1531, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 9614, - "src": "217:43:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1530, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "225:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol", - "file": "./impl/Trader.sol", - "id": 1533, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 10352, - "src": "261:41:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1532, - "name": "Trader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "269:6:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol", - "file": "./impl/LiquidityProvider.sol", - "id": 1535, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 8370, - "src": "303:63:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1534, - "name": "LiquidityProvider", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "311:17:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol", - "file": "./impl/Admin.sol", - "id": 1537, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 6964, - "src": "367:39:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1536, - "name": "Admin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "375:5:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol", - "file": "./impl/DODOLpToken.sol", - "id": 1539, - "nodeType": "ImportDirective", - "scope": 1691, - "sourceUnit": 7348, - "src": "407:51:2", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1538, - "name": "DODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "415:11:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1541, - "name": "Admin", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6963, - "src": "558:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Admin_$6963", - "typeString": "contract Admin" - } - }, - "id": 1542, - "nodeType": "InheritanceSpecifier", - "src": "558:5:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1543, - "name": "Trader", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10351, - "src": "565:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Trader_$10351", - "typeString": "contract Trader" - } - }, - "id": 1544, - "nodeType": "InheritanceSpecifier", - "src": "565:6:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1545, - "name": "LiquidityProvider", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8369, - "src": "573:17:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_LiquidityProvider_$8369", - "typeString": "contract LiquidityProvider" - } - }, - "id": 1546, - "nodeType": "InheritanceSpecifier", - "src": "573:17:2" - } - ], - "contractDependencies": [ - 6963, - 7347, - 8369, - 8853, - 9396, - 9613, - 10351, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 1540, - "nodeType": "StructuredDocumentation", - "src": "461:79:2", - "text": " @title DODO\n @author DODO Breeder\n @notice Entrance for users" - }, - "fullyImplemented": true, - "id": 1690, - "linearizedBaseContracts": [ - 1690, - 8369, - 10351, - 9396, - 8853, - 6963, - 9613, - 11296, - 11166 - ], - "name": "DODO", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1688, - "nodeType": "Block", - "src": "888:1123:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "906:14:2", - "subExpression": { - "argumentTypes": null, - "id": 1570, - "name": "_INITIALIZED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9423, - "src": "907:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f494e495449414c495a4544", - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "922:18:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7", - "typeString": "literal_string \"DODO_INITIALIZED\"" - }, - "value": "DODO_INITIALIZED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7", - "typeString": "literal_string \"DODO_INITIALIZED\"" - } - ], - "id": 1569, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "898:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:43:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1574, - "nodeType": "ExpressionStatement", - "src": "898:43:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1575, - "name": "_INITIALIZED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9423, - "src": "951:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "967:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "951:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1578, - "nodeType": "ExpressionStatement", - "src": "951:20:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1579, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1005:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1580, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1548, - "src": "1015:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1005:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1582, - "nodeType": "ExpressionStatement", - "src": "1005:15:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1064:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1056:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1056:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1056:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1588, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1068:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1583, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11098, - "src": "1035:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1035:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1590, - "nodeType": "EmitStatement", - "src": "1030:46:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1591, - "name": "_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "1087:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1592, - "name": "supervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1550, - "src": "1102:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1087:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1594, - "nodeType": "ExpressionStatement", - "src": "1087:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1595, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "1122:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1596, - "name": "maintainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1137:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1122:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1598, - "nodeType": "ExpressionStatement", - "src": "1122:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1599, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1157:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1600, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "1172:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1157:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1602, - "nodeType": "ExpressionStatement", - "src": "1157:24:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1603, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1191:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1604, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1556, - "src": "1207:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1191:26:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1606, - "nodeType": "ExpressionStatement", - "src": "1191:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1607, - "name": "_ORACLE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9451, - "src": "1227:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1608, - "name": "oracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1558, - "src": "1238:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1227:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1610, - "nodeType": "ExpressionStatement", - "src": "1227:17:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1611, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "1255:22:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1280:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1255:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1614, - "nodeType": "ExpressionStatement", - "src": "1255:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1615, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "1295:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1321:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1295:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1618, - "nodeType": "ExpressionStatement", - "src": "1295:31:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1619, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "1336:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1354:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1336:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1622, - "nodeType": "ExpressionStatement", - "src": "1336:23:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1623, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1369:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1624, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1566, - "src": "1389:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1369:33:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1626, - "nodeType": "ExpressionStatement", - "src": "1369:33:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1627, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "1466:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1485:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1466:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1630, - "nodeType": "ExpressionStatement", - "src": "1466:23:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1631, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "1499:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1519:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1499:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1634, - "nodeType": "ExpressionStatement", - "src": "1499:24:2" - }, - { - "assignments": [ - 1636 - ], - "declarations": [ - { - "constant": false, - "id": 1636, - "mutability": "mutable", - "name": "MAX_INT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1688, - "src": "1533:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1533:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1638, - "initialValue": { - "argumentTypes": null, - "hexValue": "307866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666", - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1551:66:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1533:84:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1639, - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9439, - "src": "1627:20:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1640, - "name": "MAX_INT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1650:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1627:30:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1642, - "nodeType": "ExpressionStatement", - "src": "1627:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1643, - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "1667:21:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1644, - "name": "MAX_INT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1691:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1667:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1646, - "nodeType": "ExpressionStatement", - "src": "1667:31:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1647, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "1709:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1648, - "name": "lpFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1560, - "src": "1725:9:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1709:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1650, - "nodeType": "ExpressionStatement", - "src": "1709:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1651, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "1744:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1652, - "name": "mtFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1562, - "src": "1760:9:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1744:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1654, - "nodeType": "ExpressionStatement", - "src": "1744:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1655, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "1779:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1656, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1564, - "src": "1785:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1779:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1658, - "nodeType": "ExpressionStatement", - "src": "1779:7:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1659, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "1796:10:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1660, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "1809:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 1661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "1809:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1809:17:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "1796:30:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 1664, - "nodeType": "ExpressionStatement", - "src": "1796:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1665, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "1837:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1670, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1884:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1868:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$", - "typeString": "function (address) returns (contract DODOLpToken)" - }, - "typeName": { - "contractScope": null, - "id": 1668, - "name": "DODOLpToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7347, - "src": "1872:11:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - }, - "id": 1671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - ], - "id": 1667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1860:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1666, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1860:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1860:38:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1837:61:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1674, - "nodeType": "ExpressionStatement", - "src": "1837:61:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1675, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "1908:21:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1680, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1956:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1940:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$", - "typeString": "function (address) returns (contract DODOLpToken)" - }, - "typeName": { - "contractScope": null, - "id": 1678, - "name": "DODOLpToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7347, - "src": "1944:11:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1940:30:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOLpToken_$7347", - "typeString": "contract DODOLpToken" - } - ], - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1932:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1932:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1908:63:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1684, - "nodeType": "ExpressionStatement", - "src": "1908:63:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1685, - "name": "_checkDODOParameters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9538, - "src": "1982:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1982:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1687, - "nodeType": "ExpressionStatement", - "src": "1982:22:2" - } - ] - }, - "documentation": null, - "functionSelector": "f00f9a09", - "id": 1689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1548, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "620:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "620:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1550, - "mutability": "mutable", - "name": "supervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "643:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "643:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1552, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "671:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "671:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1554, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "699:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1553, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "699:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1556, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "726:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "726:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1558, - "mutability": "mutable", - "name": "oracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "754:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "754:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1560, - "mutability": "mutable", - "name": "lpFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "778:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "778:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1562, - "mutability": "mutable", - "name": "mtFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "805:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "805:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1564, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "832:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "832:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1566, - "mutability": "mutable", - "name": "gasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1689, - "src": "851:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "851:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "610:268:2" - }, - "returnParameters": { - "id": 1568, - "nodeType": "ParameterList", - "parameters": [], - "src": "888:0:2" - }, - "scope": 1690, - "src": "597:1414:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1691, - "src": "541:1472:2" - } - ], - "src": "78:1936:2" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.487Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "DODO" - }, - "userdoc": { - "methods": {}, - "notice": "Entrance for users" - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOEthProxy.json b/build-v1/contracts/DODOEthProxy.json deleted file mode 100644 index 81f28c9..0000000 --- a/build-v1/contracts/DODOEthProxy.json +++ /dev/null @@ -1,34491 +0,0 @@ -{ - "contractName": "DODOEthProxy", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "dodoZoo", - "type": "address" - }, - { - "internalType": "address payable", - "name": "weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "quoteToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveEth", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payToken", - "type": "uint256" - } - ], - "name": "ProxyBuyEthWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveToken", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payEth", - "type": "uint256" - } - ], - "name": "ProxyBuyTokenWithEth", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lp", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "DODO", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - } - ], - "name": "ProxyDepositEthAsBase", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lp", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "DODO", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - } - ], - "name": "ProxyDepositEthAsQuote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "quoteToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payEth", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveToken", - "type": "uint256" - } - ], - "name": "ProxySellEthToToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payToken", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveEth", - "type": "uint256" - } - ], - "name": "ProxySellTokenToEth", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lp", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "DODO", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - } - ], - "name": "ProxyWithdrawEthAsBase", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lp", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "DODO", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - } - ], - "name": "ProxyWithdrawEthAsQuote", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "_DODO_ZOO_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_WETH_", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minReceiveTokenAmount", - "type": "uint256" - } - ], - "name": "sellEthToToken", - "outputs": [ - { - "internalType": "uint256", - "name": "receiveTokenAmount", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxPayTokenAmount", - "type": "uint256" - } - ], - "name": "buyEthWithToken", - "outputs": [ - { - "internalType": "uint256", - "name": "payTokenAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minReceiveEthAmount", - "type": "uint256" - } - ], - "name": "sellTokenToEth", - "outputs": [ - { - "internalType": "uint256", - "name": "receiveEthAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxPayEthAmount", - "type": "uint256" - } - ], - "name": "buyTokenWithEth", - "outputs": [ - { - "internalType": "uint256", - "name": "payEthAmount", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - } - ], - "name": "depositEthAsBase", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - } - ], - "name": "withdrawEthAsBase", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - } - ], - "name": "withdrawAllEthAsBase", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseTokenAddress", - "type": "address" - } - ], - "name": "depositEthAsQuote", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ethAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseTokenAddress", - "type": "address" - } - ], - "name": "withdrawEthAsQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseTokenAddress", - "type": "address" - } - ], - "name": "withdrawAllEthAsQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dodoZoo\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveEth\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payToken\",\"type\":\"uint256\"}],\"name\":\"ProxyBuyEthWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveToken\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payEth\",\"type\":\"uint256\"}],\"name\":\"ProxyBuyTokenWithEth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"DODO\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"}],\"name\":\"ProxyDepositEthAsBase\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"DODO\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"}],\"name\":\"ProxyDepositEthAsQuote\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payEth\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveToken\",\"type\":\"uint256\"}],\"name\":\"ProxySellEthToToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payToken\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveEth\",\"type\":\"uint256\"}],\"name\":\"ProxySellTokenToEth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"DODO\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"}],\"name\":\"ProxyWithdrawEthAsBase\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"DODO\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"}],\"name\":\"ProxyWithdrawEthAsQuote\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"_DODO_ZOO_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_WETH_\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"quoteTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPayTokenAmount\",\"type\":\"uint256\"}],\"name\":\"buyEthWithToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payTokenAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPayEthAmount\",\"type\":\"uint256\"}],\"name\":\"buyTokenWithEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payEthAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"quoteTokenAddress\",\"type\":\"address\"}],\"name\":\"depositEthAsBase\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"baseTokenAddress\",\"type\":\"address\"}],\"name\":\"depositEthAsQuote\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"quoteTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReceiveTokenAmount\",\"type\":\"uint256\"}],\"name\":\"sellEthToToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"receiveTokenAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReceiveEthAmount\",\"type\":\"uint256\"}],\"name\":\"sellTokenToEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"receiveEthAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"quoteTokenAddress\",\"type\":\"address\"}],\"name\":\"withdrawAllEthAsBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseTokenAddress\",\"type\":\"address\"}],\"name\":\"withdrawAllEthAsQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"quoteTokenAddress\",\"type\":\"address\"}],\"name\":\"withdrawEthAsBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"baseTokenAddress\",\"type\":\"address\"}],\"name\":\"withdrawEthAsQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DODO Eth Proxy\"},\"userdoc\":{\"methods\":{},\"notice\":\"Handle ETH-WETH converting for users.\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol\":\"DODOEthProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol\":{\"keccak256\":\"0xc176f60e025dd47dff2dce5fc492d1a2cabc692d8b0909abfefeb01fcfd1e0da\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://32507f11b7d506cee5b15664ad2cb7219961d4791a3d786846ed26be501121fc\",\"dweb:/ipfs/QmS1Lp2mZ7Ho8qnYVRdwqrQjJPy77nqAAgfY9QeGYq73BH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol\":{\"keccak256\":\"0x477940fe56d5823b603218a07d843eb013524a5b44e2784bf38b8374c22dd4ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c9111ef0a330bb0353c5232742867bb18259dd19edd6fb58c83046c007f4dae4\",\"dweb:/ipfs/QmWE34g93fLw5sjMfNxRKP4NU6gdjmyd4A2HNVH9DrkdKp\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162002d8138038062002d81833981016040819052620000349162000070565b60008054610100600160a81b0319166101006001600160a01b0394851602179055600180546001600160a01b03191691909216179055620000c7565b6000806040838503121562000083578182fd5b82516200009081620000ae565b6020840151909250620000a381620000ae565b809150509250929050565b6001600160a01b0381168114620000c457600080fd5b50565b612caa80620000d76000396000f3fe6080604052600436106100ab5760003560e01c8063827df19411610064578063827df194146101cf578063b56a1d03146101ef578063ba9344a414610202578063d668e02614610215578063e513462814610235578063e8d522bb14610248576100e5565b80630ae4b86d1461010f5780630d4eec8f1461014557806333e000531461016757806339239f721461017a5780633cff9b561461018f578063770e96d3146101af576100e5565b366100e5576001546001600160a01b031633146100e35760405162461bcd60e51b81526004016100da90612b2c565b60405180910390fd5b005b6001546001600160a01b031633146100e35760405162461bcd60e51b81526004016100da90612b2c565b34801561011b57600080fd5b5061012f61012a36600461290b565b610268565b60405161013c9190612c28565b60405180910390f35b34801561015157600080fd5b5061015a6106a8565b60405161013c9190612a1e565b61012f61017536600461294a565b6106b7565b34801561018657600080fd5b5061015a610a5d565b34801561019b57600080fd5b5061012f6101aa36600461290b565b610a71565b3480156101bb57600080fd5b5061012f6101ca3660046129b6565b610e98565b3480156101db57600080fd5b5061012f6101ea3660046129b6565b6113e6565b6100e36101fd3660046129b6565b611916565b6100e36102103660046129b6565b611be2565b34801561022157600080fd5b5061012f61023036600461294a565b611e98565b61012f61024336600461294a565b612112565b34801561025457600080fd5b5061012f61026336600461294a565b6123d6565b6000805460ff161561028c5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926102d3929116908790600401612a32565b60206040518083038186803b1580156102eb57600080fd5b505afa1580156102ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610323919061292e565b90506001600160a01b03811661034b5760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561038657600080fd5b505afa15801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016103ee9190612a1e565b60206040518083038186803b15801561040657600080fd5b505afa15801561041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043e919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd9061047190339030908690600401612a4c565b602060405180830381600087803b15801561048b57600080fd5b505af115801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061297e565b50826001600160a01b031663d47eaa376040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104ff57600080fd5b505af1158015610513573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610537919061299e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610569903090600401612a1e565b60206040518083038186803b15801561058157600080fd5b505afa158015610595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b9919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d906105ea908490600401612c28565b600060405180830381600087803b15801561060457600080fd5b505af1158015610618573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015610649573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167fa3c769d2387bbb62e448c2cceed2296eaefb147f02f8848fa21fbd165d1cefb48360405161068d9190612c28565b60405180910390a36000805460ff1916905595945050505050565b6001546001600160a01b031681565b6000805460ff16156106db5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660011790553482146107075760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526101009092046001600160a01b0390811692631273b0c692610744928a92911690600401612a32565b60206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610794919061292e565b90506001600160a01b0381166107bc5760405162461bcd60e51b81526004016100da90612a89565b6040516306302ef960e21b81526001600160a01b038216906318c0bbe4906107e8908790600401612c28565b60206040518083038186803b15801561080057600080fd5b505afa158015610814573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610838919061299e565b9150600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561088a57600080fd5b505af115801561089e573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b392506108d5915084908690600401612a70565b602060405180830381600087803b1580156108ef57600080fd5b505af1158015610903573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610927919061297e565b5060405163733e738360e11b81526001600160a01b0382169063e67ce706906109569087908790600401612c3f565b602060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a8919061299e565b506109b48533866126b2565b60006109c6848463ffffffff6126d116565b905080156109fd57604051339082156108fc029083906000818181858888f193505050501580156109fb573d6000803e3d6000fd5b505b856001600160a01b0316336001600160a01b03167f26073ab24c5b344998011be45a52267573aac5a64b1940dc1bb78de8b1b4f2c98786604051610a42929190612c31565b60405180910390a350506000805460ff191690559392505050565b60005461010090046001600160a01b031681565b6000805460ff1615610a955760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692610ade9288929190911690600401612a32565b60206040518083038186803b158015610af657600080fd5b505afa158015610b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e919061292e565b90506001600160a01b038116610b565760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9157600080fd5b505afa158015610ba5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc9919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b8152600401610bf99190612a1e565b60206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c49919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd90610c7c90339030908690600401612a4c565b602060405180830381600087803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cce919061297e565b50826001600160a01b031663c59203af6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610d0a57600080fd5b505af1158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d42919061299e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610d74903090600401612a1e565b60206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc4919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90610df5908490600401612c28565b600060405180830381600087803b158015610e0f57600080fd5b505af1158015610e23573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015610e54573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f0895ba7c28eabd9a8e5510a35c93d3a99c42e2095c20deebdfb6a3063c15fa3d8360405161068d9190612c28565b6000805460ff1615610ebc5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692610f059288929190911690600401612a32565b60206040518083038186803b158015610f1d57600080fd5b505afa158015610f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f55919061292e565b90506001600160a01b038116610f7d5760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff0919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016110209190612a1e565b60206040518083038186803b15801561103857600080fd5b505afa15801561104c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611070919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd906110a390339030908690600401612a4c565b602060405180830381600087803b1580156110bd57600080fd5b505af11580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f5919061297e565b5060405163c0a5f6ff60e01b81526001600160a01b0384169063c0a5f6ff90611122908990600401612c28565b602060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611174919061299e565b506040516370a0823160e01b81526001600160a01b038316906370a08231906111a1903090600401612a1e565b60206040518083038186803b1580156111b957600080fd5b505afa1580156111cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f1919061299e565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb906112229033908590600401612a70565b602060405180830381600087803b15801561123c57600080fd5b505af1158015611250573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611274919061297e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a08231906112a6903090600401612a1e565b60206040518083038186803b1580156112be57600080fd5b505afa1580156112d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f6919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90611327908490600401612c28565b600060405180830381600087803b15801561134157600080fd5b505af1158015611355573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015611386573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f0895ba7c28eabd9a8e5510a35c93d3a99c42e2095c20deebdfb6a3063c15fa3d836040516113ca9190612c28565b60405180910390a36000805460ff191690559695505050505050565b6000805460ff161561140a5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692611451929116908790600401612a32565b60206040518083038186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a1919061292e565b90506001600160a01b0381166114c95760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561150457600080fd5b505afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161156c9190612a1e565b60206040518083038186803b15801561158457600080fd5b505afa158015611598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bc919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd906115ef90339030908690600401612a4c565b602060405180830381600087803b15801561160957600080fd5b505af115801561161d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611641919061297e565b5060405163f98bea1560e01b81526001600160a01b0384169063f98bea159061166e908990600401612c28565b602060405180830381600087803b15801561168857600080fd5b505af115801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c0919061299e565b506040516370a0823160e01b81526001600160a01b038316906370a08231906116ed903090600401612a1e565b60206040518083038186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173d919061299e565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb9061176e9033908590600401612a70565b602060405180830381600087803b15801561178857600080fd5b505af115801561179c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c0919061297e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a08231906117f2903090600401612a1e565b60206040518083038186803b15801561180a57600080fd5b505afa15801561181e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611842919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90611873908490600401612c28565b600060405180830381600087803b15801561188d57600080fd5b505af11580156118a1573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156118d2573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167fa3c769d2387bbb62e448c2cceed2296eaefb147f02f8848fa21fbd165d1cefb4836040516113ca9190612c28565b60005460ff16156119395760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660011790553482146119655760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926119a1929116908690600401612a32565b60206040518083038186803b1580156119b957600080fd5b505afa1580156119cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f1919061292e565b90506001600160a01b038116611a195760405162461bcd60e51b81526004016100da90612a89565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a6957600080fd5b505af1158015611a7d573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b39250611ab4915084908790600401612a70565b602060405180830381600087803b158015611ace57600080fd5b505af1158015611ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b06919061297e565b5060405163aa06ce9b60e01b81526001600160a01b0382169063aa06ce9b90611b359033908790600401612a70565b602060405180830381600087803b158015611b4f57600080fd5b505af1158015611b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b87919061299e565b50806001600160a01b0316336001600160a01b03167f39666a73ac2731563def85cdcf4732574a8234b02aff775bf2eb8902e83974df85604051611bcb9190612c28565b60405180910390a350506000805460ff1916905550565b60005460ff1615611c055760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff19166001179055348214611c315760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526101009092046001600160a01b0390811692631273b0c692611c6e928792911690600401612a32565b60206040518083038186803b158015611c8657600080fd5b505afa158015611c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbe919061292e565b90506001600160a01b038116611ce65760405162461bcd60e51b81526004016100da90612a89565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d3657600080fd5b505af1158015611d4a573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b39250611d81915084908790600401612a70565b602060405180830381600087803b158015611d9b57600080fd5b505af1158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd3919061297e565b506040516317c5e7d960e21b81526001600160a01b03821690635f179f6490611e029033908790600401612a70565b602060405180830381600087803b158015611e1c57600080fd5b505af1158015611e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e54919061299e565b50806001600160a01b0316336001600160a01b03167f1a5e8be01b6a2fef916c1dd60b6e2638ce21d0c12f6088499061dbca6a1b9d1985604051611bcb9190612c28565b6000805460ff1615611ebc5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692611f05928a929190911690600401612a32565b60206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f55919061292e565b90506001600160a01b038116611f7d5760405162461bcd60e51b81526004016100da90612a89565b611f976001600160a01b038616828663ffffffff6126f916565b611fa28533866127f3565b604051638dae733360e01b81526001600160a01b03821690638dae733390611fd09087908790600401612c3f565b602060405180830381600087803b158015611fea57600080fd5b505af1158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612022919061299e565b600154604051632e1a7d4d60e01b81529193506001600160a01b031690632e1a7d4d90612053908590600401612c28565b600060405180830381600087803b15801561206d57600080fd5b505af1158015612081573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f193505050501580156120b2573d6000803e3d6000fd5b50846001600160a01b0316336001600160a01b03167f9f16cd7297d1abf6cd80a94e26c0149f7c6fb6d6aea14edc4dbd6243e2d79a8c86856040516120f8929190612c31565b60405180910390a3506000805460ff191690559392505050565b6000805460ff16156121365760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660011790553483146121625760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c69261219e929116908990600401612a32565b60206040518083038186803b1580156121b657600080fd5b505afa1580156121ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ee919061292e565b90506001600160a01b0381166122165760405162461bcd60e51b81526004016100da90612a89565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561226657600080fd5b505af115801561227a573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b392506122b1915084908890600401612a70565b602060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612303919061297e565b50604051638dae733360e01b81526001600160a01b03821690638dae7333906123329087908790600401612c3f565b602060405180830381600087803b15801561234c57600080fd5b505af1158015612360573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612384919061299e565b91506123918533846126b2565b846001600160a01b0316336001600160a01b03167f24389fd2849ecc5469e5ed82254a7f446667bf060eec2f26ea2440da69ce326986856040516120f8929190612c31565b6000805460ff16156123fa5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692612441929116908990600401612a32565b60206040518083038186803b15801561245957600080fd5b505afa15801561246d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612491919061292e565b90506001600160a01b0381166124b95760405162461bcd60e51b81526004016100da90612a89565b6040516306302ef960e21b81526001600160a01b038216906318c0bbe4906124e5908790600401612c28565b60206040518083038186803b1580156124fd57600080fd5b505afa158015612511573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612535919061299e565b91506125428533846127f3565b61255c6001600160a01b038616828463ffffffff6126f916565b60405163733e738360e11b81526001600160a01b0382169063e67ce7069061258a9087908790600401612c3f565b602060405180830381600087803b1580156125a457600080fd5b505af11580156125b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125dc919061299e565b50600154604051632e1a7d4d60e01b81526001600160a01b0390911690632e1a7d4d9061260d908790600401612c28565b600060405180830381600087803b15801561262757600080fd5b505af115801561263b573d6000803e3d6000fd5b505060405133925086156108fc02915086906000818181858888f1935050505015801561266c573d6000803e3d6000fd5b50846001600160a01b0316336001600160a01b03167f4a1f3fcbe8155e39218bea09dc7aff7d7254987ca870ff05d2ef5c878461fee486856040516120f8929190612c31565b6126cc6001600160a01b038416838363ffffffff61280e16565b505050565b6000828211156126f35760405162461bcd60e51b81526004016100da90612b09565b50900390565b8015806127815750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061272f9030908690600401612a32565b60206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f919061299e565b155b61279d5760405162461bcd60e51b81526004016100da90612bd2565b6126cc8363095ea7b360e01b84846040516024016127bc929190612a70565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261282d565b6126cc6001600160a01b03841683308463ffffffff6128ea16565b6126cc8363a9059cbb60e01b84846040516024016127bc929190612a70565b60006060836001600160a01b03168360405161284991906129e5565b6000604051808303816000865af19150503d8060008114612886576040519150601f19603f3d011682016040523d82523d6000602084013e61288b565b606091505b5091509150816128ad5760405162461bcd60e51b81526004016100da90612ad4565b8051156128e457808060200190518101906128c8919061297e565b6128e45760405162461bcd60e51b81526004016100da90612b88565b50505050565b6128e4846323b872dd60e01b8585856040516024016127bc93929190612a4c565b60006020828403121561291c578081fd5b813561292781612c5c565b9392505050565b60006020828403121561293f578081fd5b815161292781612c5c565b60008060006060848603121561295e578182fd5b833561296981612c5c565b95602085013595506040909401359392505050565b60006020828403121561298f578081fd5b81518015158114612927578182fd5b6000602082840312156129af578081fd5b5051919050565b600080604083850312156129c8578182fd5b8235915060208301356129da81612c5c565b809150509250929050565b60008251815b81811015612a0557602081860181015185830152016129eb565b81811115612a135782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600e908201526d1113d113d7d393d517d1561254d560921b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526014908201527357455f53415645445f594f55525f4554485f3a2960601b604082015260600190565b60208082526014908201527308aa890be829a9eaa9ca8be9c9ea8be9a82a886960631b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b90815260200190565b918252602082015260400190565b918252602082015260606040820181905260009082015260800190565b6001600160a01b0381168114612c7157600080fd5b5056fea2646970667358221220cea1a6c3e007c626e0c73448db5f7fd073d1f6e54609a9087f423463c611166b64736f6c63430006090033", - "deployedBytecode": "0x6080604052600436106100ab5760003560e01c8063827df19411610064578063827df194146101cf578063b56a1d03146101ef578063ba9344a414610202578063d668e02614610215578063e513462814610235578063e8d522bb14610248576100e5565b80630ae4b86d1461010f5780630d4eec8f1461014557806333e000531461016757806339239f721461017a5780633cff9b561461018f578063770e96d3146101af576100e5565b366100e5576001546001600160a01b031633146100e35760405162461bcd60e51b81526004016100da90612b2c565b60405180910390fd5b005b6001546001600160a01b031633146100e35760405162461bcd60e51b81526004016100da90612b2c565b34801561011b57600080fd5b5061012f61012a36600461290b565b610268565b60405161013c9190612c28565b60405180910390f35b34801561015157600080fd5b5061015a6106a8565b60405161013c9190612a1e565b61012f61017536600461294a565b6106b7565b34801561018657600080fd5b5061015a610a5d565b34801561019b57600080fd5b5061012f6101aa36600461290b565b610a71565b3480156101bb57600080fd5b5061012f6101ca3660046129b6565b610e98565b3480156101db57600080fd5b5061012f6101ea3660046129b6565b6113e6565b6100e36101fd3660046129b6565b611916565b6100e36102103660046129b6565b611be2565b34801561022157600080fd5b5061012f61023036600461294a565b611e98565b61012f61024336600461294a565b612112565b34801561025457600080fd5b5061012f61026336600461294a565b6123d6565b6000805460ff161561028c5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926102d3929116908790600401612a32565b60206040518083038186803b1580156102eb57600080fd5b505afa1580156102ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610323919061292e565b90506001600160a01b03811661034b5760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561038657600080fd5b505afa15801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016103ee9190612a1e565b60206040518083038186803b15801561040657600080fd5b505afa15801561041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043e919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd9061047190339030908690600401612a4c565b602060405180830381600087803b15801561048b57600080fd5b505af115801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061297e565b50826001600160a01b031663d47eaa376040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104ff57600080fd5b505af1158015610513573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610537919061299e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610569903090600401612a1e565b60206040518083038186803b15801561058157600080fd5b505afa158015610595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b9919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d906105ea908490600401612c28565b600060405180830381600087803b15801561060457600080fd5b505af1158015610618573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015610649573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167fa3c769d2387bbb62e448c2cceed2296eaefb147f02f8848fa21fbd165d1cefb48360405161068d9190612c28565b60405180910390a36000805460ff1916905595945050505050565b6001546001600160a01b031681565b6000805460ff16156106db5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660011790553482146107075760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526101009092046001600160a01b0390811692631273b0c692610744928a92911690600401612a32565b60206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610794919061292e565b90506001600160a01b0381166107bc5760405162461bcd60e51b81526004016100da90612a89565b6040516306302ef960e21b81526001600160a01b038216906318c0bbe4906107e8908790600401612c28565b60206040518083038186803b15801561080057600080fd5b505afa158015610814573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610838919061299e565b9150600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561088a57600080fd5b505af115801561089e573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b392506108d5915084908690600401612a70565b602060405180830381600087803b1580156108ef57600080fd5b505af1158015610903573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610927919061297e565b5060405163733e738360e11b81526001600160a01b0382169063e67ce706906109569087908790600401612c3f565b602060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a8919061299e565b506109b48533866126b2565b60006109c6848463ffffffff6126d116565b905080156109fd57604051339082156108fc029083906000818181858888f193505050501580156109fb573d6000803e3d6000fd5b505b856001600160a01b0316336001600160a01b03167f26073ab24c5b344998011be45a52267573aac5a64b1940dc1bb78de8b1b4f2c98786604051610a42929190612c31565b60405180910390a350506000805460ff191690559392505050565b60005461010090046001600160a01b031681565b6000805460ff1615610a955760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692610ade9288929190911690600401612a32565b60206040518083038186803b158015610af657600080fd5b505afa158015610b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e919061292e565b90506001600160a01b038116610b565760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9157600080fd5b505afa158015610ba5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc9919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b8152600401610bf99190612a1e565b60206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c49919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd90610c7c90339030908690600401612a4c565b602060405180830381600087803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cce919061297e565b50826001600160a01b031663c59203af6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610d0a57600080fd5b505af1158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d42919061299e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610d74903090600401612a1e565b60206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc4919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90610df5908490600401612c28565b600060405180830381600087803b158015610e0f57600080fd5b505af1158015610e23573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015610e54573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f0895ba7c28eabd9a8e5510a35c93d3a99c42e2095c20deebdfb6a3063c15fa3d8360405161068d9190612c28565b6000805460ff1615610ebc5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692610f059288929190911690600401612a32565b60206040518083038186803b158015610f1d57600080fd5b505afa158015610f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f55919061292e565b90506001600160a01b038116610f7d5760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff0919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016110209190612a1e565b60206040518083038186803b15801561103857600080fd5b505afa15801561104c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611070919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd906110a390339030908690600401612a4c565b602060405180830381600087803b1580156110bd57600080fd5b505af11580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f5919061297e565b5060405163c0a5f6ff60e01b81526001600160a01b0384169063c0a5f6ff90611122908990600401612c28565b602060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611174919061299e565b506040516370a0823160e01b81526001600160a01b038316906370a08231906111a1903090600401612a1e565b60206040518083038186803b1580156111b957600080fd5b505afa1580156111cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f1919061299e565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb906112229033908590600401612a70565b602060405180830381600087803b15801561123c57600080fd5b505af1158015611250573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611274919061297e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a08231906112a6903090600401612a1e565b60206040518083038186803b1580156112be57600080fd5b505afa1580156112d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f6919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90611327908490600401612c28565b600060405180830381600087803b15801561134157600080fd5b505af1158015611355573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015611386573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f0895ba7c28eabd9a8e5510a35c93d3a99c42e2095c20deebdfb6a3063c15fa3d836040516113ca9190612c28565b60405180910390a36000805460ff191690559695505050505050565b6000805460ff161561140a5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692611451929116908790600401612a32565b60206040518083038186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a1919061292e565b90506001600160a01b0381166114c95760405162461bcd60e51b81526004016100da90612a89565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561150457600080fd5b505afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c919061292e565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161156c9190612a1e565b60206040518083038186803b15801561158457600080fd5b505afa158015611598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bc919061299e565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd906115ef90339030908690600401612a4c565b602060405180830381600087803b15801561160957600080fd5b505af115801561161d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611641919061297e565b5060405163f98bea1560e01b81526001600160a01b0384169063f98bea159061166e908990600401612c28565b602060405180830381600087803b15801561168857600080fd5b505af115801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c0919061299e565b506040516370a0823160e01b81526001600160a01b038316906370a08231906116ed903090600401612a1e565b60206040518083038186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173d919061299e565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb9061176e9033908590600401612a70565b602060405180830381600087803b15801561178857600080fd5b505af115801561179c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c0919061297e565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a08231906117f2903090600401612a1e565b60206040518083038186803b15801561180a57600080fd5b505afa15801561181e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611842919061299e565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90611873908490600401612c28565b600060405180830381600087803b15801561188d57600080fd5b505af11580156118a1573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156118d2573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167fa3c769d2387bbb62e448c2cceed2296eaefb147f02f8848fa21fbd165d1cefb4836040516113ca9190612c28565b60005460ff16156119395760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660011790553482146119655760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926119a1929116908690600401612a32565b60206040518083038186803b1580156119b957600080fd5b505afa1580156119cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f1919061292e565b90506001600160a01b038116611a195760405162461bcd60e51b81526004016100da90612a89565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a6957600080fd5b505af1158015611a7d573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b39250611ab4915084908790600401612a70565b602060405180830381600087803b158015611ace57600080fd5b505af1158015611ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b06919061297e565b5060405163aa06ce9b60e01b81526001600160a01b0382169063aa06ce9b90611b359033908790600401612a70565b602060405180830381600087803b158015611b4f57600080fd5b505af1158015611b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b87919061299e565b50806001600160a01b0316336001600160a01b03167f39666a73ac2731563def85cdcf4732574a8234b02aff775bf2eb8902e83974df85604051611bcb9190612c28565b60405180910390a350506000805460ff1916905550565b60005460ff1615611c055760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff19166001179055348214611c315760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526101009092046001600160a01b0390811692631273b0c692611c6e928792911690600401612a32565b60206040518083038186803b158015611c8657600080fd5b505afa158015611c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbe919061292e565b90506001600160a01b038116611ce65760405162461bcd60e51b81526004016100da90612a89565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d3657600080fd5b505af1158015611d4a573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b39250611d81915084908790600401612a70565b602060405180830381600087803b158015611d9b57600080fd5b505af1158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd3919061297e565b506040516317c5e7d960e21b81526001600160a01b03821690635f179f6490611e029033908790600401612a70565b602060405180830381600087803b158015611e1c57600080fd5b505af1158015611e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e54919061299e565b50806001600160a01b0316336001600160a01b03167f1a5e8be01b6a2fef916c1dd60b6e2638ce21d0c12f6088499061dbca6a1b9d1985604051611bcb9190612c28565b6000805460ff1615611ebc5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692611f05928a929190911690600401612a32565b60206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f55919061292e565b90506001600160a01b038116611f7d5760405162461bcd60e51b81526004016100da90612a89565b611f976001600160a01b038616828663ffffffff6126f916565b611fa28533866127f3565b604051638dae733360e01b81526001600160a01b03821690638dae733390611fd09087908790600401612c3f565b602060405180830381600087803b158015611fea57600080fd5b505af1158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612022919061299e565b600154604051632e1a7d4d60e01b81529193506001600160a01b031690632e1a7d4d90612053908590600401612c28565b600060405180830381600087803b15801561206d57600080fd5b505af1158015612081573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f193505050501580156120b2573d6000803e3d6000fd5b50846001600160a01b0316336001600160a01b03167f9f16cd7297d1abf6cd80a94e26c0149f7c6fb6d6aea14edc4dbd6243e2d79a8c86856040516120f8929190612c31565b60405180910390a3506000805460ff191690559392505050565b6000805460ff16156121365760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660011790553483146121625760405162461bcd60e51b81526004016100da90612b5a565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c69261219e929116908990600401612a32565b60206040518083038186803b1580156121b657600080fd5b505afa1580156121ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ee919061292e565b90506001600160a01b0381166122165760405162461bcd60e51b81526004016100da90612a89565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561226657600080fd5b505af115801561227a573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b392506122b1915084908890600401612a70565b602060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612303919061297e565b50604051638dae733360e01b81526001600160a01b03821690638dae7333906123329087908790600401612c3f565b602060405180830381600087803b15801561234c57600080fd5b505af1158015612360573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612384919061299e565b91506123918533846126b2565b846001600160a01b0316336001600160a01b03167f24389fd2849ecc5469e5ed82254a7f446667bf060eec2f26ea2440da69ce326986856040516120f8929190612c31565b6000805460ff16156123fa5760405162461bcd60e51b81526004016100da90612ab1565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692612441929116908990600401612a32565b60206040518083038186803b15801561245957600080fd5b505afa15801561246d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612491919061292e565b90506001600160a01b0381166124b95760405162461bcd60e51b81526004016100da90612a89565b6040516306302ef960e21b81526001600160a01b038216906318c0bbe4906124e5908790600401612c28565b60206040518083038186803b1580156124fd57600080fd5b505afa158015612511573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612535919061299e565b91506125428533846127f3565b61255c6001600160a01b038616828463ffffffff6126f916565b60405163733e738360e11b81526001600160a01b0382169063e67ce7069061258a9087908790600401612c3f565b602060405180830381600087803b1580156125a457600080fd5b505af11580156125b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125dc919061299e565b50600154604051632e1a7d4d60e01b81526001600160a01b0390911690632e1a7d4d9061260d908790600401612c28565b600060405180830381600087803b15801561262757600080fd5b505af115801561263b573d6000803e3d6000fd5b505060405133925086156108fc02915086906000818181858888f1935050505015801561266c573d6000803e3d6000fd5b50846001600160a01b0316336001600160a01b03167f4a1f3fcbe8155e39218bea09dc7aff7d7254987ca870ff05d2ef5c878461fee486856040516120f8929190612c31565b6126cc6001600160a01b038416838363ffffffff61280e16565b505050565b6000828211156126f35760405162461bcd60e51b81526004016100da90612b09565b50900390565b8015806127815750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061272f9030908690600401612a32565b60206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f919061299e565b155b61279d5760405162461bcd60e51b81526004016100da90612bd2565b6126cc8363095ea7b360e01b84846040516024016127bc929190612a70565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261282d565b6126cc6001600160a01b03841683308463ffffffff6128ea16565b6126cc8363a9059cbb60e01b84846040516024016127bc929190612a70565b60006060836001600160a01b03168360405161284991906129e5565b6000604051808303816000865af19150503d8060008114612886576040519150601f19603f3d011682016040523d82523d6000602084013e61288b565b606091505b5091509150816128ad5760405162461bcd60e51b81526004016100da90612ad4565b8051156128e457808060200190518101906128c8919061297e565b6128e45760405162461bcd60e51b81526004016100da90612b88565b50505050565b6128e4846323b872dd60e01b8585856040516024016127bc93929190612a4c565b60006020828403121561291c578081fd5b813561292781612c5c565b9392505050565b60006020828403121561293f578081fd5b815161292781612c5c565b60008060006060848603121561295e578182fd5b833561296981612c5c565b95602085013595506040909401359392505050565b60006020828403121561298f578081fd5b81518015158114612927578182fd5b6000602082840312156129af578081fd5b5051919050565b600080604083850312156129c8578182fd5b8235915060208301356129da81612c5c565b809150509250929050565b60008251815b81811015612a0557602081860181015185830152016129eb565b81811115612a135782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600e908201526d1113d113d7d393d517d1561254d560921b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526014908201527357455f53415645445f594f55525f4554485f3a2960601b604082015260600190565b60208082526014908201527308aa890be829a9eaa9ca8be9c9ea8be9a82a886960631b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b90815260200190565b918252602082015260400190565b918252602082015260606040820181905260009082015260800190565b6001600160a01b0381168114612c7157600080fd5b5056fea2646970667358221220cea1a6c3e007c626e0c73448db5f7fd073d1f6e54609a9087f423463c611166b64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "636:10948:0:-:0;;;1922:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:10;:20;;-1:-1:-1;;;;;;1990:20:0;;-1:-1:-1;;;;;1990:20:0;;;;;;;-1:-1:-1;2020:13:0;;-1:-1:-1;;;;;;2020:13:0;;;;;;;;636:10948;;303:415:-1;;;443:2;431:9;422:7;418:23;414:32;411:2;;;-1:-1;;449:12;411:2;89:6;83:13;101:33;128:5;101:33;;;612:2;670:22;;232:13;501:74;;-1:-1;250:41;232:13;250:41;;;620:82;;;;405:313;;;;;;1057:117;-1:-1;;;;;991:54;;1116:35;;1106:2;;1165:1;;1155:12;1106:2;1100:74;;;636:10948:0;;;;;;", - "deployedSourceMap": "636:10948:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2209:6;;-1:-1:-1;;;;;2209:6:0;2195:10;:20;2187:53;;;;-1:-1:-1;;;2187:53:0;;;;;;;;;;;;;;;;;636:10948;;2106:6;;-1:-1:-1;;;;;2106:6:0;2092:10;:20;2084:53;;;;-1:-1:-1;;;2084:53:0;;;;;;;;7400:988;;;;;;;;;;-1:-1:-1;7400:988:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;779:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;4663:967;;;;;;;;;:::i;748:25::-;;;;;;;;;;;;;:::i;10161:990::-;;;;;;;;;;-1:-1:-1;10161:990:0;;;;;;;;:::i;8964:1191::-;;;;;;;;;;-1:-1:-1;8964:1191:0;;;;;;;;:::i;6205:1189::-;;;;;;;;;;-1:-1:-1;6205:1189:0;;;;;;;;:::i;5636:563::-;;;;;;;;;:::i;8394:564::-;;;;;;;;;:::i;3879:778::-;;;;;;;;;;-1:-1:-1;3879:778:0;;;;;;;;:::i;2253:806::-;;;;;;;;;:::i;3065:808::-;;;;;;;;;;-1:-1:-1;3065:808:0;;;;;;;;:::i;7400:988::-;7516:22;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;;;;7598:6:0;;7569:55:::1;::::0;-1:-1:-1;;;7569:55:0;;-1:-1:-1;;;;;548:16:39;7578:10:0;;::::1;::::0;::::1;::::0;7569:28:::1;::::0;:55:::1;::::0;7598:6;::::1;::::0;7606:17;;7569:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7554:70:::0;-1:-1:-1;;;;;;7642:18:0;::::1;7634:45;;;;-1:-1:-1::0;;;7634:45:0::1;;;;;;;;;7689:18;7716:4;-1:-1:-1::0;;;;;7710:32:0::1;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7689:55;;7800:17;7827:10;-1:-1:-1::0;;;;;7820:28:0::1;;7849:10;7820:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7870:69;::::0;-1:-1:-1;;;7870:69:0;;7800:60;;-1:-1:-1;;;;;;7870:31:0;::::1;::::0;::::1;::::0;:69:::1;::::0;7902:10:::1;::::0;7922:4:::1;::::0;7800:60;;7870:69:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7955:4;-1:-1:-1::0;;;;;7949:27:0::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;8170:6:0::1;::::0;8163:39:::1;::::0;-1:-1:-1;;;8163:39:0;;8142:18:::1;::::0;-1:-1:-1;;;;;8170:6:0::1;::::0;8163:24:::1;::::0;:39:::1;::::0;8196:4:::1;::::0;8163:39:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8218:6;::::0;8212:34:::1;::::0;-1:-1:-1;;;8212:34:0;;8142:60;;-1:-1:-1;;;;;;8218:6:0::1;::::0;8212:22:::1;::::0;:34:::1;::::0;8142:60;;8212:34:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8256:31:0::1;::::0;:10:::1;::::0;-1:-1:-1;8256:31:0;::::1;;;::::0;-1:-1:-1;8276:10:0;;8256:31:::1;::::0;;;8276:10;8256;:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8337:4;-1:-1:-1::0;;;;;8302:52:0::1;8325:10;-1:-1:-1::0;;;;;8302:52:0::1;;8343:10;8302:52;;;;;;;;;;;;;;;597:5:39::0;585:17;;-1:-1:-1;;585:17:39;;;8371:10:0;7400:988;-1:-1:-1;;;;;7400:988:0:o;779:29::-;;;-1:-1:-1;;;;;779:29:0;;:::o;4663:967::-;4833:20;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;4873:9:0::1;:28:::0;::::1;4865:61;;;;-1:-1:-1::0;;;4865:61:0::1;;;;;;;;;4936:12;4960:10:::0;;::::1;4998:6:::0;4951:54:::1;::::0;-1:-1:-1;;;4951:54:0;;4960:10:::1;::::0;;::::1;-1:-1:-1::0;;;;;4960:10:0;;::::1;::::0;4951:28:::1;::::0;:54:::1;::::0;4980:16;;4998:6;::::1;::::0;4951:54:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4936:69:::0;-1:-1:-1;;;;;;5023:18:0;::::1;5015:45;;;;-1:-1:-1::0;;;5015:45:0::1;;;;;;;;;5085:42;::::0;-1:-1:-1;;;5085:42:0;;-1:-1:-1;;;;;5085:29:0;::::1;::::0;::::1;::::0;:42:::1;::::0;5115:11;;5085:42:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5070:57;;5143:6;;;;;;;;;-1:-1:-1::0;;;;;5143:6:0::1;-1:-1:-1::0;;;;;5137:21:0::1;;5166:12;5137:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5197:6:0::1;::::0;5191:41:::1;::::0;-1:-1:-1;;;5191:41:0;;-1:-1:-1;;;;;5197:6:0;;::::1;::::0;-1:-1:-1;5191:21:0::1;::::0;-1:-1:-1;5191:41:0::1;::::0;-1:-1:-1;5213:4:0;;5219:12;;5191:41:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;5242:58:0::1;::::0;-1:-1:-1;;;5242:58:0;;-1:-1:-1;;;;;5242:24:0;::::1;::::0;::::1;::::0;:58:::1;::::0;5267:11;;5280:15;;5242:58:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5310:55;5323:16;5341:10;5353:11;5310:12;:55::i;:::-;5375:14;5392:33;:15:::0;5412:12;5392:33:::1;:19;:33;:::i;:::-;5375:50:::0;-1:-1:-1;5439:10:0;;5435:68:::1;;5465:27;::::0;:10:::1;::::0;:27;::::1;;;::::0;5485:6;;5465:27:::1;::::0;;;5485:6;5465:10;:27;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;5435:68;5550:16;-1:-1:-1::0;;;;;5517:77:0::1;5538:10;-1:-1:-1::0;;;;;5517:77:0::1;;5568:11;5581:12;5517:77;;;;;;;;;;;;;;;;-1:-1:-1::0;;597:5:39;585:17;;-1:-1:-1;;585:17:39;;;4663:967:0;;-1:-1:-1;;;4663:967:0:o;748:25::-;;;;;;-1:-1:-1;;;;;748:25:0;;:::o;10161:990::-;10277:22;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;;;;10377:6:0;;10330:54:::1;::::0;-1:-1:-1;;;10330:54:0;;-1:-1:-1;;;;;548:16:39;10339:10:0;;::::1;::::0;::::1;::::0;10330:28:::1;::::0;:54:::1;::::0;10359:16;;10377:6;;;::::1;::::0;10330:54:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10315:69:::0;-1:-1:-1;;;;;;10402:18:0;::::1;10394:45;;;;-1:-1:-1::0;;;10394:45:0::1;;;;;;;;;10449:18;10476:4;-1:-1:-1::0;;;;;10470:33:0::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10449:56;;10561:17;10588:10;-1:-1:-1::0;;;;;10581:28:0::1;;10610:10;10581:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10631:69;::::0;-1:-1:-1;;;10631:69:0;;10561:60;;-1:-1:-1;;;;;;10631:31:0;::::1;::::0;::::1;::::0;:69:::1;::::0;10663:10:::1;::::0;10683:4:::1;::::0;10561:60;;10631:69:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10716:4;-1:-1:-1::0;;;;;10710:28:0::1;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;10932:6:0::1;::::0;10925:39:::1;::::0;-1:-1:-1;;;10925:39:0;;10904:18:::1;::::0;-1:-1:-1;;;;;10932:6:0::1;::::0;10925:24:::1;::::0;:39:::1;::::0;10958:4:::1;::::0;10925:39:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10980:6;::::0;10974:34:::1;::::0;-1:-1:-1;;;10974:34:0;;10904:60;;-1:-1:-1;;;;;;10980:6:0::1;::::0;10974:22:::1;::::0;:34:::1;::::0;10904:60;;10974:34:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11018:31:0::1;::::0;:10:::1;::::0;-1:-1:-1;11018:31:0;::::1;;;::::0;-1:-1:-1;11038:10:0;;11018:31:::1;::::0;;;11038:10;11018;:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11100:4;-1:-1:-1::0;;;;;11064:53:0::1;11088:10;-1:-1:-1::0;;;;;11064:53:0::1;;11106:10;11064:53;;;;;;;8964:1191:::0;9096:22;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;;;;9196:6:0;;9149:54:::1;::::0;-1:-1:-1;;;9149:54:0;;-1:-1:-1;;;;;548:16:39;9158:10:0;;::::1;::::0;::::1;::::0;9149:28:::1;::::0;:54:::1;::::0;9178:16;;9196:6;;;::::1;::::0;9149:54:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9134:69:::0;-1:-1:-1;;;;;;9221:18:0;::::1;9213:45;;;;-1:-1:-1::0;;;9213:45:0::1;;;;;;;;;9268:18;9295:4;-1:-1:-1::0;;;;;9289:33:0::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9268:56;;9380:17;9407:10;-1:-1:-1::0;;;;;9400:28:0::1;;9429:10;9400:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9450:69;::::0;-1:-1:-1;;;9450:69:0;;9380:60;;-1:-1:-1;;;;;;9450:31:0;::::1;::::0;::::1;::::0;:69:::1;::::0;9482:10:::1;::::0;9502:4:::1;::::0;9380:60;;9450:69:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;9529:36:0::1;::::0;-1:-1:-1;;;9529:36:0;;-1:-1:-1;;;;;9529:25:0;::::1;::::0;::::1;::::0;:36:::1;::::0;9555:9;;9529:36:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;9641:43:0::1;::::0;-1:-1:-1;;;9641:43:0;;-1:-1:-1;;;;;9641:28:0;::::1;::::0;::::1;::::0;:43:::1;::::0;9678:4:::1;::::0;9641:43:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9694:50;::::0;-1:-1:-1;;;9694:50:0;;9629:55;;-1:-1:-1;;;;;;9694:27:0;::::1;::::0;::::1;::::0;:50:::1;::::0;9722:10:::1;::::0;9629:55;;9694:50:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;9936:6:0::1;::::0;9929:39:::1;::::0;-1:-1:-1;;;9929:39:0;;9908:18:::1;::::0;-1:-1:-1;;;;;9936:6:0::1;::::0;9929:24:::1;::::0;:39:::1;::::0;9962:4:::1;::::0;9929:39:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:6;::::0;9978:34:::1;::::0;-1:-1:-1;;;9978:34:0;;9908:60;;-1:-1:-1;;;;;;9984:6:0::1;::::0;9978:22:::1;::::0;:34:::1;::::0;9908:60;;9978:34:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10022:31:0::1;::::0;:10:::1;::::0;-1:-1:-1;10022:31:0;::::1;;;::::0;-1:-1:-1;10042:10:0;;10022:31:::1;::::0;;;10042:10;10022;:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10104:4;-1:-1:-1::0;;;;;10068:53:0::1;10092:10;-1:-1:-1::0;;;;;10068:53:0::1;;10110:10;10068:53;;;;;;;;;;;;;;;597:5:39::0;585:17;;-1:-1:-1;;585:17:39;;;10138:10:0;8964:1191;-1:-1:-1;;;;;;8964:1191:0:o;6205:1189::-;6337:22;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;;;;6419:6:0;;6390:55:::1;::::0;-1:-1:-1;;;6390:55:0;;-1:-1:-1;;;;;548:16:39;6399:10:0;;::::1;::::0;::::1;::::0;6390:28:::1;::::0;:55:::1;::::0;6419:6;::::1;::::0;6427:17;;6390:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6375:70:::0;-1:-1:-1;;;;;;6463:18:0;::::1;6455:45;;;;-1:-1:-1::0;;;6455:45:0::1;;;;;;;;;6510:18;6537:4;-1:-1:-1::0;;;;;6531:32:0::1;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6510:55;;6621:17;6648:10;-1:-1:-1::0;;;;;6641:28:0::1;;6670:10;6641:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6691:69;::::0;-1:-1:-1;;;6691:69:0;;6621:60;;-1:-1:-1;;;;;;6691:31:0;::::1;::::0;::::1;::::0;:69:::1;::::0;6723:10:::1;::::0;6743:4:::1;::::0;6621:60;;6691:69:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6770:35:0::1;::::0;-1:-1:-1;;;6770:35:0;;-1:-1:-1;;;;;6770:24:0;::::1;::::0;::::1;::::0;:35:::1;::::0;6795:9;;6770:35:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6881:43:0::1;::::0;-1:-1:-1;;;6881:43:0;;-1:-1:-1;;;;;6881:28:0;::::1;::::0;::::1;::::0;:43:::1;::::0;6918:4:::1;::::0;6881:43:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6934:50;::::0;-1:-1:-1;;;6934:50:0;;6869:55;;-1:-1:-1;;;;;;6934:27:0;::::1;::::0;::::1;::::0;:50:::1;::::0;6962:10:::1;::::0;6869:55;;6934:50:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;7176:6:0::1;::::0;7169:39:::1;::::0;-1:-1:-1;;;7169:39:0;;7148:18:::1;::::0;-1:-1:-1;;;;;7176:6:0::1;::::0;7169:24:::1;::::0;:39:::1;::::0;7202:4:::1;::::0;7169:39:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7224:6;::::0;7218:34:::1;::::0;-1:-1:-1;;;7218:34:0;;7148:60;;-1:-1:-1;;;;;;7224:6:0::1;::::0;7218:22:::1;::::0;:34:::1;::::0;7148:60;;7218:34:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7262:31:0::1;::::0;:10:::1;::::0;-1:-1:-1;7262:31:0;::::1;;;::::0;-1:-1:-1;7282:10:0;;7262:31:::1;::::0;;;7282:10;7262;:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7343:4;-1:-1:-1::0;;;;;7308:52:0::1;7331:10;-1:-1:-1::0;;;;;7308:52:0::1;;7349:10;7308:52;;;;;;;5636:563:::0;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;5788:9:0::1;:22:::0;::::1;5780:55;;;;-1:-1:-1::0;;;5780:55:0::1;;;;;;;;;5845:12;5869:10:::0;;::::1;5889:6:::0;5860:55:::1;::::0;-1:-1:-1;;;5860:55:0;;-1:-1:-1;;;;;5869:10:0::1;::::0;;::::1;::::0;::::1;::::0;5860:28:::1;::::0;:55:::1;::::0;5889:6;::::1;::::0;5897:17;;5860:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5845:70:::0;-1:-1:-1;;;;;;5933:18:0;::::1;5925:45;;;;-1:-1:-1::0;;;5925:45:0::1;;;;;;;;;5986:6;;;;;;;;;-1:-1:-1::0;;;;;5986:6:0::1;-1:-1:-1::0;;;;;5980:21:0::1;;6009:9;5980:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6037:6:0::1;::::0;6031:38:::1;::::0;-1:-1:-1;;;6031:38:0;;-1:-1:-1;;;;;6037:6:0;;::::1;::::0;-1:-1:-1;6031:21:0::1;::::0;-1:-1:-1;6031:38:0::1;::::0;-1:-1:-1;6053:4:0;;6059:9;;6031:38:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6079:48:0::1;::::0;-1:-1:-1;;;6079:48:0;;-1:-1:-1;;;;;6079:25:0;::::1;::::0;::::1;::::0;:48:::1;::::0;6105:10:::1;::::0;6117:9;;6079:48:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6176:4;-1:-1:-1::0;;;;;6142:50:0::1;6164:10;-1:-1:-1::0;;;;;6142:50:0::1;;6182:9;6142:50;;;;;;;;;;;;;;;-1:-1:-1::0;;597:5:39;585:17;;-1:-1:-1;;585:17:39;;;-1:-1:-1;5636:563:0:o;8394:564::-;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;8546:9:0::1;:22:::0;::::1;8538:55;;;;-1:-1:-1::0;;;8538:55:0::1;;;;;;;;;8603:12;8627:10:::0;;::::1;8665:6:::0;8618:54:::1;::::0;-1:-1:-1;;;8618:54:0;;8627:10:::1;::::0;;::::1;-1:-1:-1::0;;;;;8627:10:0;;::::1;::::0;8618:28:::1;::::0;:54:::1;::::0;8647:16;;8665:6;::::1;::::0;8618:54:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8603:69:::0;-1:-1:-1;;;;;;8690:18:0;::::1;8682:45;;;;-1:-1:-1::0;;;8682:45:0::1;;;;;;;;;8743:6;;;;;;;;;-1:-1:-1::0;;;;;8743:6:0::1;-1:-1:-1::0;;;;;8737:21:0::1;;8766:9;8737:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8794:6:0::1;::::0;8788:38:::1;::::0;-1:-1:-1;;;8788:38:0;;-1:-1:-1;;;;;8794:6:0;;::::1;::::0;-1:-1:-1;8788:21:0::1;::::0;-1:-1:-1;8788:38:0::1;::::0;-1:-1:-1;8810:4:0;;8816:9;;8788:38:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;8836:49:0::1;::::0;-1:-1:-1;;;8836:49:0;;-1:-1:-1;;;;;8836:26:0;::::1;::::0;::::1;::::0;:49:::1;::::0;8863:10:::1;::::0;8875:9;;8836:49:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8935:4;-1:-1:-1::0;;;;;8900:51:0::1;8923:10;-1:-1:-1::0;;;;;8900:51:0::1;;8941:9;8900:51;;;;;;;3879:778:::0;4044:24;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;;;;4142:6:0;;4095:54:::1;::::0;-1:-1:-1;;;4095:54:0;;-1:-1:-1;;;;;548:16:39;4104:10:0;;::::1;::::0;::::1;::::0;4095:28:::1;::::0;:54:::1;::::0;4124:16;;4142:6;;;::::1;::::0;4095:54:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4080:69:::0;-1:-1:-1;;;;;;4167:18:0;::::1;4159:45;;;;-1:-1:-1::0;;;4159:45:0::1;;;;;;;;;4214:55;-1:-1:-1::0;;;;;4214:36:0;::::1;4251:4:::0;4257:11;4214:55:::1;:36;:55;:::i;:::-;4279:54;4291:16;4309:10;4321:11;4279;:54::i;:::-;4362:63;::::0;-1:-1:-1;;;4362:63:0;;-1:-1:-1;;;;;4362:25:0;::::1;::::0;::::1;::::0;:63:::1;::::0;4388:11;;4401:19;;4362:63:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4441:6;::::0;4435:40:::1;::::0;-1:-1:-1;;;4435:40:0;;4343:82;;-1:-1:-1;;;;;;4441:6:0::1;::::0;4435:22:::1;::::0;:40:::1;::::0;4343:82;;4435:40:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4485:37:0::1;::::0;:10:::1;::::0;-1:-1:-1;4485:37:0;::::1;;;::::0;-1:-1:-1;4505:16:0;;4485:37:::1;::::0;;;4505:16;4485:10;:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4569:16;-1:-1:-1::0;;;;;4537:80:0::1;4557:10;-1:-1:-1::0;;;;;4537:80:0::1;;4587:11;4600:16;4537:80;;;;;;;;;;;;;;;;-1:-1:-1::0;597:5:39;585:17;;-1:-1:-1;;585:17:39;;;3879:778:0;;-1:-1:-1;;;3879:778:0:o;2253:806::-;2427:26;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;2473:9:0::1;:22:::0;::::1;2465:55;;;;-1:-1:-1::0;;;2465:55:0::1;;;;;;;;;2530:12;2554:10:::0;;::::1;2574:6:::0;2545:55:::1;::::0;-1:-1:-1;;;2545:55:0;;-1:-1:-1;;;;;2554:10:0::1;::::0;;::::1;::::0;::::1;::::0;2545:28:::1;::::0;:55:::1;::::0;2574:6;::::1;::::0;2582:17;;2545:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2530:70:::0;-1:-1:-1;;;;;;2618:18:0;::::1;2610:45;;;;-1:-1:-1::0;;;2610:45:0::1;;;;;;;;;2671:6;;;;;;;;;-1:-1:-1::0;;;;;2671:6:0::1;-1:-1:-1::0;;;;;2665:21:0::1;;2694:9;2665:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2722:6:0::1;::::0;2716:38:::1;::::0;-1:-1:-1;;;2716:38:0;;-1:-1:-1;;;;;2722:6:0;;::::1;::::0;-1:-1:-1;2716:21:0::1;::::0;-1:-1:-1;2716:38:0::1;::::0;-1:-1:-1;2738:4:0;;2744:9;;2716:38:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;2785:63:0::1;::::0;-1:-1:-1;;;2785:63:0;;-1:-1:-1;;;;;2785:25:0;::::1;::::0;::::1;::::0;:63:::1;::::0;2811:9;;2822:21;;2785:63:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:84;;2858:63;2871:17;2890:10;2902:18;2858:12;:63::i;:::-;2968:17;-1:-1:-1::0;;;;;2936:81:0::1;2956:10;-1:-1:-1::0;;;;;2936:81:0::1;;2987:9;2998:18;2936:81;;;;;;;;3065:808:::0;3228:22;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;548:9;:16;;-1:-1:-1;;548:16:39;560:4;548:16;;;;;;3306:6:0;;3277:55:::1;::::0;-1:-1:-1;;;3277:55:0;;-1:-1:-1;;;;;548:16:39;3286:10:0;;::::1;::::0;::::1;::::0;3277:28:::1;::::0;:55:::1;::::0;3306:6;::::1;::::0;3314:17;;3277:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3262:70:::0;-1:-1:-1;;;;;;3350:18:0;::::1;3342:45;;;;-1:-1:-1::0;;;3342:45:0::1;;;;;;;;;3414:40;::::0;-1:-1:-1;;;3414:40:0;;-1:-1:-1;;;;;3414:29:0;::::1;::::0;::::1;::::0;:40:::1;::::0;3444:9;;3414:40:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3397:57;;3464:58;3476:17;3495:10;3507:14;3464:11;:58::i;:::-;3532:59;-1:-1:-1::0;;;;;3532:37:0;::::1;3570:4:::0;3576:14;3532:59:::1;:37;:59;:::i;:::-;3601:58;::::0;-1:-1:-1;;;3601:58:0;;-1:-1:-1;;;;;3601:24:0;::::1;::::0;::::1;::::0;:58:::1;::::0;3626:9;;3637:17;;3601:58:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;3675:6:0::1;::::0;3669:33:::1;::::0;-1:-1:-1;;;3669:33:0;;-1:-1:-1;;;;;3675:6:0;;::::1;::::0;3669:22:::1;::::0;:33:::1;::::0;3692:9;;3669:33:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3712:30:0::1;::::0;:10:::1;::::0;-1:-1:-1;3712:30:0;::::1;;;::::0;-1:-1:-1;3732:9:0;;3712:30:::1;::::0;;;3732:9;3712:10;:30;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;3790:17;-1:-1:-1::0;;;;;3757:78:0::1;3778:10;-1:-1:-1::0;;;;;3757:78:0::1;;3809:9;3820:14;3757:78;;;;;;;;11409:173:::0;11530:45;-1:-1:-1;;;;;11530:33:0;;11564:2;11568:6;11530:45;:33;:45;:::i;:::-;11409:173;;;:::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;1296:656:40:-;1704:10;;;1703:62;;-1:-1:-1;1720:39:40;;-1:-1:-1;;;1720:39:40;;-1:-1:-1;;;;;1720:15:40;;;;;:39;;1744:4;;1751:7;;1720:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;1703:62;1682:163;;;;-1:-1:-1;;;1682:163:40;;;;;;;;;1855:90;1875:5;1905:22;;;1929:7;1938:5;1882:62;;;;;;;;;;;;;;-1:-1:-1;;1882:62:40;;;;;;;;;;;;;;-1:-1:-1;;;;;1882:62:40;-1:-1:-1;;;;;;1882:62:40;;;;;;;;;;1855:19;:90::i;11208:195:0:-;11330:66;-1:-1:-1;;;;;11330:37:0;;11368:4;11382;11389:6;11330:66;:37;:66;:::i;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;2335:1027;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;;2335:1027;;;;:::o;1015:275::-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;696:241:-1;;800:2;788:9;779:7;775:23;771:32;768:2;;;-1:-1;;806:12;768:2;85:6;72:20;97:33;124:5;97:33;;;858:63;762:175;-1:-1;;;762:175;944:263;;1059:2;1047:9;1038:7;1034:23;1030:32;1027:2;;;-1:-1;;1065:12;1027:2;226:6;220:13;238:33;265:5;238:33;;1214:491;;;;1352:2;1340:9;1331:7;1327:23;1323:32;1320:2;;;-1:-1;;1358:12;1320:2;85:6;72:20;97:33;124:5;97:33;;;1410:63;1510:2;1549:22;;485:20;;-1:-1;1618:2;1657:22;;;485:20;;1314:391;-1:-1;;;1314:391;1712:257;;1824:2;1812:9;1803:7;1799:23;1795:32;1792:2;;;-1:-1;;1830:12;1792:2;364:6;358:13;16807:5;15713:13;15706:21;16785:5;16782:32;16772:2;;-1:-1;;16818:12;1976:263;;2091:2;2079:9;2070:7;2066:23;2062:32;2059:2;;;-1:-1;;2097:12;2059:2;-1:-1;633:13;;2053:186;-1:-1;2053:186;2246:366;;;2367:2;2355:9;2346:7;2342:23;2338:32;2335:2;;;-1:-1;;2373:12;2335:2;498:6;485:20;2425:63;;2525:2;2568:9;2564:22;72:20;97:33;124:5;97:33;;;2533:63;;;;2329:283;;;;;;6528:271;;3192:5;14906:12;-1:-1;16398:101;16412:6;16409:1;16406:13;16398:101;;;3336:4;16479:11;;;;;16473:18;16460:11;;;16453:39;16427:10;16398:101;;;16514:6;16511:1;16508:13;16505:2;;;-1:-1;16570:6;16565:3;16561:16;16554:27;16505:2;-1:-1;3367:16;;;;;6662:137;-1:-1;;6662:137;6806:222;-1:-1;;;;;15801:54;;;;2855:45;;6933:2;6918:18;;6904:124;7541:349;-1:-1;;;;;15801:54;;;2698:58;;15801:54;;7876:2;7861:18;;2855:45;7704:2;7689:18;;7675:215;7897:476;-1:-1;;;;;15801:54;;;2698:58;;15801:54;;;;8276:2;8261:18;;2698:58;8359:2;8344:18;;6479:37;;;;8096:2;8081:18;;8067:306;8380:349;-1:-1;;;;;15801:54;;;;2698:58;;8715:2;8700:18;;6479:37;8543:2;8528:18;;8514:215;10223:416;10423:2;10437:47;;;3620:2;10408:18;;;15050:19;-1:-1;;;15090:14;;;3636:37;3692:12;;;10394:245;10646:416;10846:2;10860:47;;;3943:1;10831:18;;;15050:19;-1:-1;;;15090:14;;;3958:32;4009:12;;;10817:245;11069:416;11269:2;11283:47;;;11254:18;;;15050:19;4296:34;15090:14;;;4276:55;4350:12;;;11240:245;11492:416;11692:2;11706:47;;;4601:1;11677:18;;;15050:19;-1:-1;;;15090:14;;;4616:32;4667:12;;;11663:245;11915:416;12115:2;12129:47;;;4918:2;12100:18;;;15050:19;-1:-1;;;15090:14;;;4934:43;4996:12;;;12086:245;12338:416;12538:2;12552:47;;;5516:2;12523:18;;;15050:19;-1:-1;;;15090:14;;;5532:43;5594:12;;;12509:245;12761:416;12961:2;12975:47;;;5845:2;12946:18;;;15050:19;5881:34;15090:14;;;5861:55;-1:-1;;;5936:12;;;5929:34;5982:12;;;12932:245;13184:416;13384:2;13398:47;;;6233:2;13369:18;;;15050:19;6269:34;15090:14;;;6249:55;-1:-1;;;6324:12;;;6317:46;6382:12;;;13355:245;13607:222;6479:37;;;13734:2;13719:18;;13705:124;13836:333;6479:37;;;14155:2;14140:18;;6479:37;13991:2;13976:18;;13962:207;14176:636;6479:37;;;14595:2;14580:18;;6479:37;14431:2;14632;14617:18;;14610:48;;;14176:636;14416:18;;;15050:19;15090:14;;;14402:410;16602:117;-1:-1;;;;;15801:54;;16661:35;;16651:2;;16710:1;;16700:12;16651:2;16645:74;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {ReentrancyGuard} from \"./lib/ReentrancyGuard.sol\";\nimport {SafeERC20} from \"./lib/SafeERC20.sol\";\nimport {SafeMath} from \"./lib/SafeMath.sol\";\nimport {IDODO} from \"./intf/IDODO.sol\";\nimport {IERC20} from \"./intf/IERC20.sol\";\nimport {IWETH} from \"./intf/IWETH.sol\";\n\ninterface IDODOZoo {\n function getDODO(address baseToken, address quoteToken) external view returns (address);\n}\n\n/**\n * @title DODO Eth Proxy\n * @author DODO Breeder\n *\n * @notice Handle ETH-WETH converting for users.\n */\ncontract DODOEthProxy is ReentrancyGuard {\n using SafeERC20 for IERC20;\n using SafeMath for uint256;\n\n address public _DODO_ZOO_;\n address payable public _WETH_;\n\n // ============ Events ============\n\n event ProxySellEthToToken(\n address indexed seller,\n address indexed quoteToken,\n uint256 payEth,\n uint256 receiveToken\n );\n\n event ProxyBuyEthWithToken(\n address indexed buyer,\n address indexed quoteToken,\n uint256 receiveEth,\n uint256 payToken\n );\n\n event ProxySellTokenToEth(\n address indexed seller,\n address indexed baseToken,\n uint256 payToken,\n uint256 receiveEth\n );\n\n event ProxyBuyTokenWithEth(\n address indexed buyer,\n address indexed baseToken,\n uint256 receiveToken,\n uint256 payEth\n );\n\n event ProxyDepositEthAsBase(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n event ProxyWithdrawEthAsBase(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n event ProxyDepositEthAsQuote(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n event ProxyWithdrawEthAsQuote(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n // ============ Functions ============\n\n constructor(address dodoZoo, address payable weth) public {\n _DODO_ZOO_ = dodoZoo;\n _WETH_ = weth;\n }\n\n fallback() external payable {\n require(msg.sender == _WETH_, \"WE_SAVED_YOUR_ETH_:)\");\n }\n\n receive() external payable {\n require(msg.sender == _WETH_, \"WE_SAVED_YOUR_ETH_:)\");\n }\n\n function sellEthToToken(\n address quoteTokenAddress,\n uint256 ethAmount,\n uint256 minReceiveTokenAmount\n ) external payable preventReentrant returns (uint256 receiveTokenAmount) {\n require(msg.value == ethAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IWETH(_WETH_).deposit{value: ethAmount}();\n IWETH(_WETH_).approve(DODO, ethAmount);\n receiveTokenAmount = IDODO(DODO).sellBaseToken(ethAmount, minReceiveTokenAmount, \"\");\n _transferOut(quoteTokenAddress, msg.sender, receiveTokenAmount);\n emit ProxySellEthToToken(msg.sender, quoteTokenAddress, ethAmount, receiveTokenAmount);\n return receiveTokenAmount;\n }\n\n function buyEthWithToken(\n address quoteTokenAddress,\n uint256 ethAmount,\n uint256 maxPayTokenAmount\n ) external preventReentrant returns (uint256 payTokenAmount) {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n payTokenAmount = IDODO(DODO).queryBuyBaseToken(ethAmount);\n _transferIn(quoteTokenAddress, msg.sender, payTokenAmount);\n IERC20(quoteTokenAddress).safeApprove(DODO, payTokenAmount);\n IDODO(DODO).buyBaseToken(ethAmount, maxPayTokenAmount, \"\");\n IWETH(_WETH_).withdraw(ethAmount);\n msg.sender.transfer(ethAmount);\n emit ProxyBuyEthWithToken(msg.sender, quoteTokenAddress, ethAmount, payTokenAmount);\n return payTokenAmount;\n }\n\n function sellTokenToEth(\n address baseTokenAddress,\n uint256 tokenAmount,\n uint256 minReceiveEthAmount\n ) external preventReentrant returns (uint256 receiveEthAmount) {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IERC20(baseTokenAddress).safeApprove(DODO, tokenAmount);\n _transferIn(baseTokenAddress, msg.sender, tokenAmount);\n receiveEthAmount = IDODO(DODO).sellBaseToken(tokenAmount, minReceiveEthAmount, \"\");\n IWETH(_WETH_).withdraw(receiveEthAmount);\n msg.sender.transfer(receiveEthAmount);\n emit ProxySellTokenToEth(msg.sender, baseTokenAddress, tokenAmount, receiveEthAmount);\n return receiveEthAmount;\n }\n\n function buyTokenWithEth(\n address baseTokenAddress,\n uint256 tokenAmount,\n uint256 maxPayEthAmount\n ) external payable preventReentrant returns (uint256 payEthAmount) {\n require(msg.value == maxPayEthAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n payEthAmount = IDODO(DODO).queryBuyBaseToken(tokenAmount);\n IWETH(_WETH_).deposit{value: payEthAmount}();\n IWETH(_WETH_).approve(DODO, payEthAmount);\n IDODO(DODO).buyBaseToken(tokenAmount, maxPayEthAmount, \"\");\n _transferOut(baseTokenAddress, msg.sender, tokenAmount);\n uint256 refund = maxPayEthAmount.sub(payEthAmount);\n if (refund > 0) {\n msg.sender.transfer(refund);\n }\n emit ProxyBuyTokenWithEth(msg.sender, baseTokenAddress, tokenAmount, payEthAmount);\n return payEthAmount;\n }\n\n function depositEthAsBase(uint256 ethAmount, address quoteTokenAddress)\n external\n payable\n preventReentrant\n {\n require(msg.value == ethAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IWETH(_WETH_).deposit{value: ethAmount}();\n IWETH(_WETH_).approve(DODO, ethAmount);\n IDODO(DODO).depositBaseTo(msg.sender, ethAmount);\n emit ProxyDepositEthAsBase(msg.sender, DODO, ethAmount);\n }\n\n function withdrawEthAsBase(uint256 ethAmount, address quoteTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._BASE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawBase(ethAmount);\n\n // transfer remain shares back to msg.sender\n lpBalance = IERC20(ethLpToken).balanceOf(address(this));\n IERC20(ethLpToken).transfer(msg.sender, lpBalance);\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsBase(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n function withdrawAllEthAsBase(address quoteTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._BASE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawAllBase();\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsBase(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n function depositEthAsQuote(uint256 ethAmount, address baseTokenAddress)\n external\n payable\n preventReentrant\n {\n require(msg.value == ethAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IWETH(_WETH_).deposit{value: ethAmount}();\n IWETH(_WETH_).approve(DODO, ethAmount);\n IDODO(DODO).depositQuoteTo(msg.sender, ethAmount);\n emit ProxyDepositEthAsQuote(msg.sender, DODO, ethAmount);\n }\n\n function withdrawEthAsQuote(uint256 ethAmount, address baseTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._QUOTE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawQuote(ethAmount);\n\n // transfer remain shares back to msg.sender\n lpBalance = IERC20(ethLpToken).balanceOf(address(this));\n IERC20(ethLpToken).transfer(msg.sender, lpBalance);\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsQuote(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n function withdrawAllEthAsQuote(address baseTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._QUOTE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawAllQuote();\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsQuote(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n // ============ Helper Functions ============\n\n function _transferIn(\n address tokenAddress,\n address from,\n uint256 amount\n ) internal {\n IERC20(tokenAddress).safeTransferFrom(from, address(this), amount);\n }\n\n function _transferOut(\n address tokenAddress,\n address to,\n uint256 amount\n ) internal {\n IERC20(tokenAddress).safeTransfer(to, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol", - "exportedSymbols": { - "DODOEthProxy": [ - 1166 - ], - "IDODOZoo": [ - 24 - ] - }, - "id": 1167, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:0" - }, - { - "id": 2, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:0" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "file": "./lib/ReentrancyGuard.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11297, - "src": "136:58:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:15:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "./lib/SafeERC20.sol", - "id": 6, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11441, - "src": "195:46:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 5, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "203:9:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./lib/SafeMath.sol", - "id": 8, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11624, - "src": "242:44:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "250:8:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "./intf/IDODO.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10492, - "src": "287:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "295:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "./intf/IERC20.sol", - "id": 12, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10608, - "src": "327:41:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "335:6:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "file": "./intf/IWETH.sol", - "id": 14, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10679, - "src": "369:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "377:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 24, - "linearizedBaseContracts": [ - 24 - ], - "name": "IDODOZoo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "1273b0c6", - "id": 23, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "452:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "452:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "471:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "471:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "451:39:0" - }, - "returnParameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "514:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:9:0" - }, - "scope": 24, - "src": "435:88:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1167, - "src": "410:115:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11296, - "src": "661:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$11296", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 27, - "nodeType": "InheritanceSpecifier", - "src": "661:15:0" - } - ], - "contractDependencies": [ - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 25, - "nodeType": "StructuredDocumentation", - "src": "527:108:0", - "text": " @title DODO Eth Proxy\n @author DODO Breeder\n @notice Handle ETH-WETH converting for users." - }, - "fullyImplemented": true, - "id": 1166, - "linearizedBaseContracts": [ - 1166, - 11296 - ], - "name": "DODOEthProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 30, - "libraryName": { - "contractScope": null, - "id": 28, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "689:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "683:27:0", - "typeName": { - "contractScope": null, - "id": 29, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "703:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "id": 33, - "libraryName": { - "contractScope": null, - "id": 31, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "721:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "715:27:0", - "typeName": { - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "734:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "39239f72", - "id": 35, - "mutability": "mutable", - "name": "_DODO_ZOO_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "748:25:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 34, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "748:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0d4eec8f", - "id": 37, - "mutability": "mutable", - "name": "_WETH_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "779:29:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 47, - "name": "ProxySellEthToToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 46, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 39, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "891:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 38, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "923:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "923:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 43, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "959:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 42, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "959:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 45, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "983:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:128:0" - }, - "src": "856:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 57, - "name": "ProxyBuyEthWithToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 56, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 49, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1052:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 48, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1052:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 51, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1083:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1083:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 53, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1119:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 52, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1119:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1147:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 54, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1147:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1042:127:0" - }, - "src": "1016:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 67, - "name": "ProxySellTokenToEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 59, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1211:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 58, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 61, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1243:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 63, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1278:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 62, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 65, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1304:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1304:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1201:127:0" - }, - "src": "1176:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 77, - "name": "ProxyBuyTokenWithEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 76, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 69, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1371:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 68, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1371:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 71, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1402:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1402:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 73, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1437:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 75, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1467:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1467:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1361:126:0" - }, - "src": "1335:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 85, - "name": "ProxyDepositEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 84, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1522:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 78, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1522:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 81, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1542:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1564:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1564:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1521:61:0" - }, - "src": "1494:89:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 93, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 92, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1618:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1638:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1638:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1660:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 90, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1617:61:0" - }, - "src": "1589:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 101, - "name": "ProxyDepositEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 95, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1714:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 94, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1714:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 97, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1734:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 96, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1734:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 99, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1756:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1713:61:0" - }, - "src": "1685:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 109, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1811:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1811:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 105, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1831:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1831:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1853:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1810:61:0" - }, - "src": "1781:91:0" - }, - { - "body": { - "id": 124, - "nodeType": "Block", - "src": "1980:60:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 116, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1990:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 117, - "name": "dodoZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "2003:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1990:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 119, - "nodeType": "ExpressionStatement", - "src": "1990:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 120, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2020:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 121, - "name": "weth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "2029:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2020:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 123, - "nodeType": "ExpressionStatement", - "src": "2020:13:0" - } - ] - }, - "documentation": null, - "id": 125, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 111, - "mutability": "mutable", - "name": "dodoZoo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1934:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1934:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 113, - "mutability": "mutable", - "name": "weth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1951:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1951:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1933:39:0" - }, - "returnParameters": { - "id": 115, - "nodeType": "ParameterList", - "parameters": [], - "src": "1980:0:0" - }, - "scope": 1166, - "src": "1922:118:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 136, - "nodeType": "Block", - "src": "2074:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 131, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2106:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2092:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2114:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 128, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 135, - "nodeType": "ExpressionStatement", - "src": "2084:53:0" - } - ] - }, - "documentation": null, - "id": 137, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 126, - "nodeType": "ParameterList", - "parameters": [], - "src": "2054:2:0" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [], - "src": "2074:0:0" - }, - "scope": 1166, - "src": "2046:98:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 148, - "nodeType": "Block", - "src": "2177:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 141, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2195:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2195:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 143, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2209:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2195:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2217:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2187:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2187:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "2187:53:0" - } - ] - }, - "documentation": null, - "id": 149, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 138, - "nodeType": "ParameterList", - "parameters": [], - "src": "2157:2:0" - }, - "returnParameters": { - "id": 139, - "nodeType": "ParameterList", - "parameters": [], - "src": "2177:0:0" - }, - "scope": 1166, - "src": "2150:97:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 234, - "nodeType": "Block", - "src": "2455:604:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2473:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2473:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 165, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2486:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2473:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2497:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 162, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2465:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2465:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 169, - "nodeType": "ExpressionStatement", - "src": "2465:55:0" - }, - { - "assignments": [ - 171 - ], - "declarations": [ - { - "constant": false, - "id": 171, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 234, - "src": "2530:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2530:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 179, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 176, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2574:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 177, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2582:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "2554:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 172, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "2545:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "2545:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2530:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 181, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2618:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2634:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2626:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2618:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2610:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2610:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 189, - "nodeType": "ExpressionStatement", - "src": "2610:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 191, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2671:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 190, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2665:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "2665:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 194, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2694:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2665:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "2665:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 202, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2738:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 203, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2744:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 199, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2722:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 198, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2716:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "2716:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "2716:38:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 206, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2764:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 211, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2811:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 212, - "name": "minReceiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "2822:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2845:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 208, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 207, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "2785:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2764:84:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 216, - "nodeType": "ExpressionStatement", - "src": "2764:84:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 218, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2871:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2890:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2890:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 221, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2902:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 217, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "2858:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2858:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2858:63:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2956:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 227, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2968:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 228, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2987:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2998:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 224, - "name": "ProxySellEthToToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "2936:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2936:81:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "2931:86:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 232, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "3034:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 161, - "id": 233, - "nodeType": "Return", - "src": "3027:25:0" - } - ] - }, - "documentation": null, - "functionSelector": "e5134628", - "id": 235, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 158, - "modifierName": { - "argumentTypes": null, - "id": 157, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2401:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2401:16:0" - } - ], - "name": "sellEthToToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 151, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2286:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2286:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2321:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 155, - "mutability": "mutable", - "name": "minReceiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2348:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2348:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2276:107:0" - }, - "returnParameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 160, - "mutability": "mutable", - "name": "receiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2427:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2427:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2426:28:0" - }, - "scope": 1166, - "src": "2253:806:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 326, - "nodeType": "Block", - "src": "3252:621:0", - "statements": [ - { - "assignments": [ - 249 - ], - "declarations": [ - { - "constant": false, - "id": 249, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 326, - "src": "3262:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3262:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 257, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 254, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3306:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 255, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3314:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 251, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "3286:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 250, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "3277:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "3277:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3262:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 259, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3350:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3366:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3358:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3350:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3370:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 258, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3342:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 267, - "nodeType": "ExpressionStatement", - "src": "3342:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 268, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3397:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 273, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3444:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 270, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3420:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 269, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3414:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "3414:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3397:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 276, - "nodeType": "ExpressionStatement", - "src": "3397:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 278, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3476:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 279, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3495:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 281, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3507:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 277, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "3464:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3464:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "3464:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3570:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 289, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3576:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 285, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3539:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 284, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3532:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "3532:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:59:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 291, - "nodeType": "ExpressionStatement", - "src": "3532:59:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 296, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3626:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 297, - "name": "maxPayTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "3637:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 293, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3607:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 292, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3601:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "3601:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 300, - "nodeType": "ExpressionStatement", - "src": "3601:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 305, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3692:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 302, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3675:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 301, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "3669:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "3669:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "ExpressionStatement", - "src": "3669:33:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 313, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3732:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3712:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3712:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "3712:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3778:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3778:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 319, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3790:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 320, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3809:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 321, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3820:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 316, - "name": "ProxyBuyEthWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "3757:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3757:78:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 323, - "nodeType": "EmitStatement", - "src": "3752:83:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 324, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3852:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 247, - "id": 325, - "nodeType": "Return", - "src": "3845:21:0" - } - ] - }, - "documentation": null, - "functionSelector": "e8d522bb", - "id": 327, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 244, - "modifierName": { - "argumentTypes": null, - "id": 243, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3202:16:0" - } - ], - "name": "buyEthWithToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 237, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3099:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3134:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3134:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "maxPayTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3161:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3089:103:0" - }, - "returnParameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 246, - "mutability": "mutable", - "name": "payTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3228:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3227:24:0" - }, - "scope": 1166, - "src": "3065:808:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 411, - "nodeType": "Block", - "src": "4070:587:0", - "statements": [ - { - "assignments": [ - 341 - ], - "declarations": [ - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 411, - "src": "4080:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4080:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 349, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 346, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4124:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 347, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4142:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 343, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4104:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 342, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4095:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4095:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4080:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 351, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4167:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4183:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4175:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4167:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4187:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 350, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4159:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 359, - "nodeType": "ExpressionStatement", - "src": "4159:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 364, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4251:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 365, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4257:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 361, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4221:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 360, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "4214:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "4214:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 367, - "nodeType": "ExpressionStatement", - "src": "4214:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 369, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4291:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4309:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4309:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4321:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 368, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "4279:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4279:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 374, - "nodeType": "ExpressionStatement", - "src": "4279:54:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 375, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4343:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 380, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4388:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 381, - "name": "minReceiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 333, - "src": "4401:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4422:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 377, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 376, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "4362:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "4362:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4343:82:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "4343:82:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 390, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4458:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 387, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4441:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 386, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "4435:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "4435:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 392, - "nodeType": "ExpressionStatement", - "src": "4435:40:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 398, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4505:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4485:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4485:37:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "4485:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4557:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 404, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4569:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 405, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4587:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 406, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4600:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 401, - "name": "ProxySellTokenToEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "4537:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4537:80:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 408, - "nodeType": "EmitStatement", - "src": "4532:85:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 409, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4634:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 339, - "id": 410, - "nodeType": "Return", - "src": "4627:23:0" - } - ] - }, - "documentation": null, - "functionSelector": "d668e026", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 336, - "modifierName": { - "argumentTypes": null, - "id": 335, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4018:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4018:16:0" - } - ], - "name": "sellTokenToEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3912:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3912:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3946:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3946:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 333, - "mutability": "mutable", - "name": "minReceiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3975:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3902:106:0" - }, - "returnParameters": { - "id": 339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "mutability": "mutable", - "name": "receiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "4044:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4043:26:0" - }, - "scope": 1166, - "src": "3879:778:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 524, - "nodeType": "Block", - "src": "4855:775:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 426, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4873:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 428, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "4886:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4873:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4903:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 425, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4865:61:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 432, - "nodeType": "ExpressionStatement", - "src": "4865:61:0" - }, - { - "assignments": [ - 434 - ], - "declarations": [ - { - "constant": false, - "id": 434, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "4936:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4936:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 442, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 439, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "4980:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 440, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4998:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 436, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4960:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 435, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4951:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4951:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4936:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 444, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5023:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5039:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5031:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5023:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5043:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5015:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 452, - "nodeType": "ExpressionStatement", - "src": "5015:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 453, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5070:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5115:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 455, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5091:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 454, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5085:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "5085:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:42:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5070:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 461, - "nodeType": "ExpressionStatement", - "src": "5070:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 463, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5143:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 462, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5137:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5137:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 466, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5166:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5137:42:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:44:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 469, - "nodeType": "ExpressionStatement", - "src": "5137:44:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 474, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5213:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 475, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5219:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 471, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5197:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 470, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "5191:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 477, - "nodeType": "ExpressionStatement", - "src": "5191:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 482, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5267:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 483, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5297:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 479, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5248:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 478, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5242:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "5242:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 486, - "nodeType": "ExpressionStatement", - "src": "5242:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 488, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5323:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 489, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5341:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5341:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 491, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5353:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 487, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "5310:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5310:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "5310:55:0" - }, - { - "assignments": [ - 495 - ], - "declarations": [ - { - "constant": false, - "id": 495, - "mutability": "mutable", - "name": "refund", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "5375:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5375:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 500, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 498, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5412:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 496, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5392:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5392:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5375:50:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 501, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5439:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5448:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5439:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 513, - "nodeType": "IfStatement", - "src": "5435:68:0", - "trueBody": { - "id": 512, - "nodeType": "Block", - "src": "5451:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 509, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5485:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5465:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5465:27:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 511, - "nodeType": "ExpressionStatement", - "src": "5465:27:0" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 515, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5538:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5538:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5550:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 518, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5568:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 519, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5581:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 514, - "name": "ProxyBuyTokenWithEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "5517:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5517:77:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 521, - "nodeType": "EmitStatement", - "src": "5512:82:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 522, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5611:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 424, - "id": 523, - "nodeType": "Return", - "src": "5604:19:0" - } - ] - }, - "documentation": null, - "functionSelector": "33e00053", - "id": 525, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 421, - "modifierName": { - "argumentTypes": null, - "id": 420, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4807:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4807:16:0" - } - ], - "name": "buyTokenWithEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4697:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 416, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4731:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4731:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 418, - "mutability": "mutable", - "name": "maxPayEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4760:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4760:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4687:102:0" - }, - "returnParameters": { - "id": 424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "payEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4833:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:0" - }, - "scope": 1166, - "src": "4663:967:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 594, - "nodeType": "Block", - "src": "5770:429:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 535, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5788:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5788:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 537, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5801:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5788:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5812:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5780:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5780:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 541, - "nodeType": "ExpressionStatement", - "src": "5780:55:0" - }, - { - "assignments": [ - 543 - ], - "declarations": [ - { - "constant": false, - "id": 543, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 594, - "src": "5845:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5845:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 551, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 548, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5889:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 549, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "5897:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "5869:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 544, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "5860:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5860:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5845:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 553, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "5933:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5949:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5941:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5933:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5953:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5925:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5925:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 561, - "nodeType": "ExpressionStatement", - "src": "5925:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 563, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5986:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 562, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5980:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5980:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 566, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6009:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5980:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 569, - "nodeType": "ExpressionStatement", - "src": "5980:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 574, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6053:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 575, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6059:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 571, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6037:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 570, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "6031:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "6031:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 577, - "nodeType": "ExpressionStatement", - "src": "6031:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 582, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6105:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6105:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 584, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6117:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6085:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 578, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6079:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositBaseTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10437, - "src": "6079:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "6079:48:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 588, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6164:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 590, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6176:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 591, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6182:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 587, - "name": "ProxyDepositEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "6142:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6142:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 593, - "nodeType": "EmitStatement", - "src": "6137:55:0" - } - ] - }, - "documentation": null, - "functionSelector": "b56a1d03", - "id": 595, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 532, - "modifierName": { - "argumentTypes": null, - "id": 531, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "5749:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5749:16:0" - } - ], - "name": "depositEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5662:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5662:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5681:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5681:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5661:46:0" - }, - "returnParameters": { - "id": 533, - "nodeType": "ParameterList", - "parameters": [], - "src": "5770:0:0" - }, - "scope": 1166, - "src": "5636:563:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 721, - "nodeType": "Block", - "src": "6365:1029:0", - "statements": [ - { - "assignments": [ - 607 - ], - "declarations": [ - { - "constant": false, - "id": 607, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6375:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6375:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 615, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 612, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6419:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 613, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "6427:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 609, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "6399:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 608, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "6390:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6390:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6375:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 617, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6463:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6479:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6471:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6463:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6483:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 616, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6455:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 625, - "nodeType": "ExpressionStatement", - "src": "6455:45:0" - }, - { - "assignments": [ - 627 - ], - "declarations": [ - { - "constant": false, - "id": 627, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6510:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6510:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 633, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 629, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6537:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 628, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6531:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "6531:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6510:55:0" - }, - { - "assignments": [ - 635 - ], - "declarations": [ - { - "constant": false, - "id": 635, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6621:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6621:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 643, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6670:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6670:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 637, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 636, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6621:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 648, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6723:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6723:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 652, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6743:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6735:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 654, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6750:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 645, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6698:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 644, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6691:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "6691:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 656, - "nodeType": "ExpressionStatement", - "src": "6691:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 661, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "6795:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 658, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6776:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 657, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6770:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10444, - "src": "6770:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 663, - "nodeType": "ExpressionStatement", - "src": "6770:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 664, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6869:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 671, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6918:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6910:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 666, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6888:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 665, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6881:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6881:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6869:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 675, - "nodeType": "ExpressionStatement", - "src": "6869:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6962:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6962:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 682, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6974:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 677, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6941:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 676, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6934:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "6934:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 684, - "nodeType": "ExpressionStatement", - "src": "6934:50:0" - }, - { - "assignments": [ - 686 - ], - "declarations": [ - { - "constant": false, - "id": 686, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "7148:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7148:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 696, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 693, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7202:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7194:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 688, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7176:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 687, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7169:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7169:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7148:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 701, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7241:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 698, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7224:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 697, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "7218:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "7218:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "7218:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7282:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 704, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7262:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7262:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "7262:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 713, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7331:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7331:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 715, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "7343:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 716, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7349:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 712, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "7308:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7308:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 718, - "nodeType": "EmitStatement", - "src": "7303:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 719, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7377:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 605, - "id": 720, - "nodeType": "Return", - "src": "7370:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "827df194", - "id": 722, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 602, - "modifierName": { - "argumentTypes": null, - "id": 601, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "6303:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6303:16:0" - } - ], - "name": "withdrawEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 597, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6232:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6232:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 599, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6251:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6251:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6231:46:0" - }, - "returnParameters": { - "id": 605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6337:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6336:24:0" - }, - "scope": 1166, - "src": "6205:1189:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "7544:844:0", - "statements": [ - { - "assignments": [ - 732 - ], - "declarations": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7554:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 731, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7554:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 740, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7598:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7606:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 734, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "7578:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 733, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "7569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "7569:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7554:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 742, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7642:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7658:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 743, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7650:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7642:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7662:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 741, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7634:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 750, - "nodeType": "ExpressionStatement", - "src": "7634:45:0" - }, - { - "assignments": [ - 752 - ], - "declarations": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7689:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7689:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 758, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 754, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 753, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "7710:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7689:55:0" - }, - { - "assignments": [ - 760 - ], - "declarations": [ - { - "constant": false, - "id": 760, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7800:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7800:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 768, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 765, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7849:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 762, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7827:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 761, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7820:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7820:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7800:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7902:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7902:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 777, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7922:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7914:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 779, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7929:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 770, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7877:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 769, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7870:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "7870:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 781, - "nodeType": "ExpressionStatement", - "src": "7870:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7955:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 782, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7949:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10449, - "src": "7949:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 787, - "nodeType": "ExpressionStatement", - "src": "7949:29:0" - }, - { - "assignments": [ - 789 - ], - "declarations": [ - { - "constant": false, - "id": 789, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "8142:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8142:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 799, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8196:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8188:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 791, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8170:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 790, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "8163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "8163:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8142:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 804, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8235:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 801, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8218:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 800, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8212:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "8212:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 806, - "nodeType": "ExpressionStatement", - "src": "8212:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 812, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8276:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 807, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8256:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8256:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 814, - "nodeType": "ExpressionStatement", - "src": "8256:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 816, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8337:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8343:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 815, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "8302:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8302:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 821, - "nodeType": "EmitStatement", - "src": "8297:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8371:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 730, - "id": 823, - "nodeType": "Return", - "src": "8364:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "0ae4b86d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 727, - "modifierName": { - "argumentTypes": null, - "id": 726, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "7482:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7482:16:0" - } - ], - "name": "withdrawAllEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 724, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7430:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7430:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7429:27:0" - }, - "returnParameters": { - "id": 730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7516:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7516:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:24:0" - }, - "scope": 1166, - "src": "7400:988:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "8528:430:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8546:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8546:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 837, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8559:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8546:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8570:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8538:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8538:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 841, - "nodeType": "ExpressionStatement", - "src": "8538:55:0" - }, - { - "assignments": [ - 843 - ], - "declarations": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "8603:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8603:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 851, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 848, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "8647:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 849, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8665:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 845, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "8627:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 844, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "8618:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "8618:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8603:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 853, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8690:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8706:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8698:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8690:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8710:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 852, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8682:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8682:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 861, - "nodeType": "ExpressionStatement", - "src": "8682:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 863, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8743:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 862, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8737:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "8737:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 866, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8766:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "8737:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 869, - "nodeType": "ExpressionStatement", - "src": "8737:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 874, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 875, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8816:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 871, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8794:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 870, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8788:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "8788:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 877, - "nodeType": "ExpressionStatement", - "src": "8788:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 882, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8863:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8863:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 884, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8875:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 879, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8842:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 878, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "8836:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositQuoteTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "8836:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:49:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 886, - "nodeType": "ExpressionStatement", - "src": "8836:49:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 888, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8923:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8923:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 890, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8935:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 891, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8941:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 887, - "name": "ProxyDepositEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8900:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8900:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 893, - "nodeType": "EmitStatement", - "src": "8895:56:0" - } - ] - }, - "documentation": null, - "functionSelector": "ba9344a4", - "id": 895, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 832, - "modifierName": { - "argumentTypes": null, - "id": 831, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "8507:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8507:16:0" - } - ], - "name": "depositEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8421:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8421:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8440:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8420:45:0" - }, - "returnParameters": { - "id": 833, - "nodeType": "ParameterList", - "parameters": [], - "src": "8528:0:0" - }, - "scope": 1166, - "src": "8394:564:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1021, - "nodeType": "Block", - "src": "9124:1031:0", - "statements": [ - { - "assignments": [ - 907 - ], - "declarations": [ - { - "constant": false, - "id": 907, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9134:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9134:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 915, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 912, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "9178:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9196:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 909, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "9158:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 908, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "9149:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "9149:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9134:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 917, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9221:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9237:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9229:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9221:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9241:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 916, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9213:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9213:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 925, - "nodeType": "ExpressionStatement", - "src": "9213:45:0" - }, - { - "assignments": [ - 927 - ], - "declarations": [ - { - "constant": false, - "id": 927, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9268:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 933, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 929, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9295:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 928, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9289:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "9289:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9268:56:0" - }, - { - "assignments": [ - 935 - ], - "declarations": [ - { - "constant": false, - "id": 935, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9380:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 943, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 940, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9429:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9429:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 937, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9407:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 936, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9400:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9380:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9482:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9482:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 952, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9502:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9494:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 954, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9509:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9457:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 944, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9450:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "9450:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 956, - "nodeType": "ExpressionStatement", - "src": "9450:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 961, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9555:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 958, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9535:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 957, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9529:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10465, - "src": "9529:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "nodeType": "ExpressionStatement", - "src": "9529:36:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 964, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9629:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 971, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9678:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9670:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 966, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 965, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9629:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 975, - "nodeType": "ExpressionStatement", - "src": "9629:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 980, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9722:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9722:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 982, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9734:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 977, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9701:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 976, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9694:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "9694:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 984, - "nodeType": "ExpressionStatement", - "src": "9694:50:0" - }, - { - "assignments": [ - 986 - ], - "declarations": [ - { - "constant": false, - "id": 986, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9908:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 993, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9962:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9954:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 988, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9936:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 987, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9929:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9929:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1001, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10001:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 998, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9984:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 997, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "9978:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "9978:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "9978:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1009, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10042:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10022:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10022:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1011, - "nodeType": "ExpressionStatement", - "src": "10022:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1013, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1015, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "10104:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10110:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1012, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "10068:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10068:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1018, - "nodeType": "EmitStatement", - "src": "10063:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1019, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10138:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 905, - "id": 1020, - "nodeType": "Return", - "src": "10131:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "770e96d3", - "id": 1022, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 902, - "modifierName": { - "argumentTypes": null, - "id": 901, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "9062:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9062:16:0" - } - ], - "name": "withdrawEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "8992:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8992:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9011:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9011:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8991:45:0" - }, - "returnParameters": { - "id": 905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 904, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9096:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9095:24:0" - }, - "scope": 1166, - "src": "8964:1191:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1124, - "nodeType": "Block", - "src": "10305:846:0", - "statements": [ - { - "assignments": [ - 1032 - ], - "declarations": [ - { - "constant": false, - "id": 1032, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10315:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10315:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1037, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "10359:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1038, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1034, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "10339:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1033, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "10330:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 1035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 1036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "10330:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10315:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1042, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10402:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10418:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10410:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10402:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10422:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 1041, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10394:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10394:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1050, - "nodeType": "ExpressionStatement", - "src": "10394:45:0" - }, - { - "assignments": [ - 1052 - ], - "declarations": [ - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10449:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10449:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1058, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1054, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10476:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1053, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10470:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "10470:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10449:56:0" - }, - { - "assignments": [ - 1060 - ], - "declarations": [ - { - "constant": false, - "id": 1060, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10561:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10561:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1068, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10610:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10610:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1062, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10588:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1061, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10581:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10581:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10561:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10663:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10663:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1077, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10683:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10675:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1079, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "10690:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1070, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10638:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1069, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10631:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "10631:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1081, - "nodeType": "ExpressionStatement", - "src": "10631:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1083, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1082, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10470, - "src": "10710:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 1086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1087, - "nodeType": "ExpressionStatement", - "src": "10710:30:0" - }, - { - "assignments": [ - 1089 - ], - "declarations": [ - { - "constant": false, - "id": 1089, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10904:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10904:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1099, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1096, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10958:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10950:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1091, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10932:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1090, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10925:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10925:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10904:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "10997:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1101, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10980:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1100, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "10974:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "10974:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "10974:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1112, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11038:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1107, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11018:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11018:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1114, - "nodeType": "ExpressionStatement", - "src": "11018:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1116, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11088:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11088:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1118, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "11100:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1119, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11106:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1115, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "11064:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11064:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1121, - "nodeType": "EmitStatement", - "src": "11059:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1122, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11134:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1030, - "id": 1123, - "nodeType": "Return", - "src": "11127:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "3cff9b56", - "id": 1125, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1027, - "modifierName": { - "argumentTypes": null, - "id": 1026, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "10243:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10243:16:0" - } - ], - "name": "withdrawAllEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1024, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10192:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10192:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10191:26:0" - }, - "returnParameters": { - "id": 1030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1029, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10277:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10276:24:0" - }, - "scope": 1166, - "src": "10161:990:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1146, - "nodeType": "Block", - "src": "11320:83:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1138, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1129, - "src": "11368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1141, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11382:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11374:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1143, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1131, - "src": "11389:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1135, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "11337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1134, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11330:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "11330:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:66:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "11330:66:0" - } - ] - }, - "documentation": null, - "id": 1147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1127, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11238:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11238:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1129, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11268:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11290:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11290:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11228:82:0" - }, - "returnParameters": { - "id": 1133, - "nodeType": "ParameterList", - "parameters": [], - "src": "11320:0:0" - }, - "scope": 1166, - "src": "11208:195:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1164, - "nodeType": "Block", - "src": "11520:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1151, - "src": "11564:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1161, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "11568:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1157, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "11537:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1156, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11530:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "11530:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "ExpressionStatement", - "src": "11530:45:0" - } - ] - }, - "documentation": null, - "id": 1165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11440:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11470:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11470:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11490:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11490:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11430:80:0" - }, - "returnParameters": { - "id": 1155, - "nodeType": "ParameterList", - "parameters": [], - "src": "11520:0:0" - }, - "scope": 1166, - "src": "11409:173:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1167, - "src": "636:10948:0" - } - ], - "src": "78:11507:0" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol", - "exportedSymbols": { - "DODOEthProxy": [ - 1166 - ], - "IDODOZoo": [ - 24 - ] - }, - "id": 1167, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:0" - }, - { - "id": 2, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:0" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "file": "./lib/ReentrancyGuard.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11297, - "src": "136:58:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:15:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "./lib/SafeERC20.sol", - "id": 6, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11441, - "src": "195:46:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 5, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "203:9:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./lib/SafeMath.sol", - "id": 8, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11624, - "src": "242:44:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "250:8:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "./intf/IDODO.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10492, - "src": "287:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "295:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "./intf/IERC20.sol", - "id": 12, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10608, - "src": "327:41:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "335:6:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "file": "./intf/IWETH.sol", - "id": 14, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10679, - "src": "369:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "377:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 24, - "linearizedBaseContracts": [ - 24 - ], - "name": "IDODOZoo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "1273b0c6", - "id": 23, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "452:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "452:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "471:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "471:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "451:39:0" - }, - "returnParameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "514:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:9:0" - }, - "scope": 24, - "src": "435:88:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1167, - "src": "410:115:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11296, - "src": "661:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$11296", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 27, - "nodeType": "InheritanceSpecifier", - "src": "661:15:0" - } - ], - "contractDependencies": [ - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 25, - "nodeType": "StructuredDocumentation", - "src": "527:108:0", - "text": " @title DODO Eth Proxy\n @author DODO Breeder\n @notice Handle ETH-WETH converting for users." - }, - "fullyImplemented": true, - "id": 1166, - "linearizedBaseContracts": [ - 1166, - 11296 - ], - "name": "DODOEthProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 30, - "libraryName": { - "contractScope": null, - "id": 28, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "689:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "683:27:0", - "typeName": { - "contractScope": null, - "id": 29, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "703:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "id": 33, - "libraryName": { - "contractScope": null, - "id": 31, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "721:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "715:27:0", - "typeName": { - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "734:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "39239f72", - "id": 35, - "mutability": "mutable", - "name": "_DODO_ZOO_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "748:25:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 34, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "748:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0d4eec8f", - "id": 37, - "mutability": "mutable", - "name": "_WETH_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "779:29:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 47, - "name": "ProxySellEthToToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 46, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 39, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "891:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 38, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "923:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "923:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 43, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "959:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 42, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "959:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 45, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "983:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:128:0" - }, - "src": "856:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 57, - "name": "ProxyBuyEthWithToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 56, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 49, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1052:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 48, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1052:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 51, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1083:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1083:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 53, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1119:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 52, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1119:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1147:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 54, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1147:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1042:127:0" - }, - "src": "1016:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 67, - "name": "ProxySellTokenToEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 59, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1211:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 58, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 61, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1243:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 63, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1278:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 62, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 65, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1304:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1304:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1201:127:0" - }, - "src": "1176:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 77, - "name": "ProxyBuyTokenWithEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 76, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 69, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1371:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 68, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1371:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 71, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1402:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1402:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 73, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1437:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 75, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1467:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1467:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1361:126:0" - }, - "src": "1335:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 85, - "name": "ProxyDepositEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 84, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1522:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 78, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1522:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 81, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1542:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1564:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1564:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1521:61:0" - }, - "src": "1494:89:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 93, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 92, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1618:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1638:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1638:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1660:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 90, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1617:61:0" - }, - "src": "1589:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 101, - "name": "ProxyDepositEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 95, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1714:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 94, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1714:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 97, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1734:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 96, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1734:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 99, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1756:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1713:61:0" - }, - "src": "1685:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 109, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1811:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1811:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 105, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1831:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1831:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1853:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1810:61:0" - }, - "src": "1781:91:0" - }, - { - "body": { - "id": 124, - "nodeType": "Block", - "src": "1980:60:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 116, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1990:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 117, - "name": "dodoZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "2003:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1990:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 119, - "nodeType": "ExpressionStatement", - "src": "1990:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 120, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2020:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 121, - "name": "weth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "2029:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2020:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 123, - "nodeType": "ExpressionStatement", - "src": "2020:13:0" - } - ] - }, - "documentation": null, - "id": 125, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 111, - "mutability": "mutable", - "name": "dodoZoo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1934:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1934:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 113, - "mutability": "mutable", - "name": "weth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1951:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1951:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1933:39:0" - }, - "returnParameters": { - "id": 115, - "nodeType": "ParameterList", - "parameters": [], - "src": "1980:0:0" - }, - "scope": 1166, - "src": "1922:118:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 136, - "nodeType": "Block", - "src": "2074:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 131, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2106:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2092:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2114:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 128, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 135, - "nodeType": "ExpressionStatement", - "src": "2084:53:0" - } - ] - }, - "documentation": null, - "id": 137, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 126, - "nodeType": "ParameterList", - "parameters": [], - "src": "2054:2:0" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [], - "src": "2074:0:0" - }, - "scope": 1166, - "src": "2046:98:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 148, - "nodeType": "Block", - "src": "2177:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 141, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2195:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2195:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 143, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2209:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2195:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2217:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2187:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2187:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "2187:53:0" - } - ] - }, - "documentation": null, - "id": 149, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 138, - "nodeType": "ParameterList", - "parameters": [], - "src": "2157:2:0" - }, - "returnParameters": { - "id": 139, - "nodeType": "ParameterList", - "parameters": [], - "src": "2177:0:0" - }, - "scope": 1166, - "src": "2150:97:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 234, - "nodeType": "Block", - "src": "2455:604:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2473:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2473:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 165, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2486:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2473:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2497:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 162, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2465:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2465:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 169, - "nodeType": "ExpressionStatement", - "src": "2465:55:0" - }, - { - "assignments": [ - 171 - ], - "declarations": [ - { - "constant": false, - "id": 171, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 234, - "src": "2530:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2530:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 179, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 176, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2574:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 177, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2582:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "2554:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 172, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "2545:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "2545:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2530:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 181, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2618:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2634:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2626:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2618:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2610:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2610:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 189, - "nodeType": "ExpressionStatement", - "src": "2610:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 191, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2671:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 190, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2665:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "2665:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 194, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2694:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2665:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "2665:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 202, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2738:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 203, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2744:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 199, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2722:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 198, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2716:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "2716:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "2716:38:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 206, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2764:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 211, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2811:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 212, - "name": "minReceiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "2822:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2845:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 208, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 207, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "2785:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2764:84:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 216, - "nodeType": "ExpressionStatement", - "src": "2764:84:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 218, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2871:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2890:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2890:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 221, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2902:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 217, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "2858:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2858:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2858:63:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2956:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 227, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2968:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 228, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2987:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2998:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 224, - "name": "ProxySellEthToToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "2936:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2936:81:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "2931:86:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 232, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "3034:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 161, - "id": 233, - "nodeType": "Return", - "src": "3027:25:0" - } - ] - }, - "documentation": null, - "functionSelector": "e5134628", - "id": 235, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 158, - "modifierName": { - "argumentTypes": null, - "id": 157, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2401:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2401:16:0" - } - ], - "name": "sellEthToToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 151, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2286:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2286:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2321:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 155, - "mutability": "mutable", - "name": "minReceiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2348:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2348:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2276:107:0" - }, - "returnParameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 160, - "mutability": "mutable", - "name": "receiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2427:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2427:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2426:28:0" - }, - "scope": 1166, - "src": "2253:806:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 326, - "nodeType": "Block", - "src": "3252:621:0", - "statements": [ - { - "assignments": [ - 249 - ], - "declarations": [ - { - "constant": false, - "id": 249, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 326, - "src": "3262:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3262:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 257, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 254, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3306:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 255, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3314:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 251, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "3286:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 250, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "3277:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "3277:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3262:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 259, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3350:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3366:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3358:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3350:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3370:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 258, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3342:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 267, - "nodeType": "ExpressionStatement", - "src": "3342:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 268, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3397:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 273, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3444:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 270, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3420:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 269, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3414:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "3414:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3397:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 276, - "nodeType": "ExpressionStatement", - "src": "3397:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 278, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3476:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 279, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3495:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 281, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3507:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 277, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "3464:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3464:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "3464:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3570:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 289, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3576:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 285, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3539:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 284, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3532:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "3532:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:59:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 291, - "nodeType": "ExpressionStatement", - "src": "3532:59:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 296, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3626:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 297, - "name": "maxPayTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "3637:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 293, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3607:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 292, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3601:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "3601:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 300, - "nodeType": "ExpressionStatement", - "src": "3601:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 305, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3692:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 302, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3675:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 301, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "3669:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "3669:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "ExpressionStatement", - "src": "3669:33:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 313, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3732:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3712:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3712:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "3712:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3778:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3778:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 319, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3790:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 320, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3809:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 321, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3820:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 316, - "name": "ProxyBuyEthWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "3757:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3757:78:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 323, - "nodeType": "EmitStatement", - "src": "3752:83:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 324, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3852:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 247, - "id": 325, - "nodeType": "Return", - "src": "3845:21:0" - } - ] - }, - "documentation": null, - "functionSelector": "e8d522bb", - "id": 327, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 244, - "modifierName": { - "argumentTypes": null, - "id": 243, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3202:16:0" - } - ], - "name": "buyEthWithToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 237, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3099:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3134:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3134:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "maxPayTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3161:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3089:103:0" - }, - "returnParameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 246, - "mutability": "mutable", - "name": "payTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3228:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3227:24:0" - }, - "scope": 1166, - "src": "3065:808:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 411, - "nodeType": "Block", - "src": "4070:587:0", - "statements": [ - { - "assignments": [ - 341 - ], - "declarations": [ - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 411, - "src": "4080:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4080:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 349, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 346, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4124:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 347, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4142:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 343, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4104:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 342, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4095:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4095:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4080:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 351, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4167:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4183:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4175:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4167:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4187:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 350, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4159:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 359, - "nodeType": "ExpressionStatement", - "src": "4159:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 364, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4251:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 365, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4257:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 361, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4221:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 360, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "4214:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "4214:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 367, - "nodeType": "ExpressionStatement", - "src": "4214:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 369, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4291:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4309:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4309:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4321:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 368, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "4279:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4279:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 374, - "nodeType": "ExpressionStatement", - "src": "4279:54:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 375, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4343:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 380, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4388:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 381, - "name": "minReceiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 333, - "src": "4401:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4422:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 377, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 376, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "4362:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "4362:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4343:82:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "4343:82:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 390, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4458:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 387, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4441:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 386, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "4435:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "4435:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 392, - "nodeType": "ExpressionStatement", - "src": "4435:40:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 398, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4505:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4485:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4485:37:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "4485:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4557:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 404, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4569:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 405, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4587:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 406, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4600:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 401, - "name": "ProxySellTokenToEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "4537:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4537:80:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 408, - "nodeType": "EmitStatement", - "src": "4532:85:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 409, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4634:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 339, - "id": 410, - "nodeType": "Return", - "src": "4627:23:0" - } - ] - }, - "documentation": null, - "functionSelector": "d668e026", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 336, - "modifierName": { - "argumentTypes": null, - "id": 335, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4018:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4018:16:0" - } - ], - "name": "sellTokenToEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3912:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3912:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3946:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3946:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 333, - "mutability": "mutable", - "name": "minReceiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3975:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3902:106:0" - }, - "returnParameters": { - "id": 339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "mutability": "mutable", - "name": "receiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "4044:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4043:26:0" - }, - "scope": 1166, - "src": "3879:778:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 524, - "nodeType": "Block", - "src": "4855:775:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 426, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4873:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 428, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "4886:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4873:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4903:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 425, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4865:61:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 432, - "nodeType": "ExpressionStatement", - "src": "4865:61:0" - }, - { - "assignments": [ - 434 - ], - "declarations": [ - { - "constant": false, - "id": 434, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "4936:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4936:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 442, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 439, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "4980:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 440, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4998:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 436, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4960:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 435, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4951:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4951:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4936:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 444, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5023:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5039:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5031:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5023:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5043:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5015:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 452, - "nodeType": "ExpressionStatement", - "src": "5015:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 453, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5070:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5115:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 455, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5091:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 454, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5085:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "5085:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:42:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5070:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 461, - "nodeType": "ExpressionStatement", - "src": "5070:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 463, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5143:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 462, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5137:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5137:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 466, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5166:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5137:42:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:44:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 469, - "nodeType": "ExpressionStatement", - "src": "5137:44:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 474, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5213:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 475, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5219:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 471, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5197:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 470, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "5191:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 477, - "nodeType": "ExpressionStatement", - "src": "5191:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 482, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5267:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 483, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5297:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 479, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5248:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 478, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5242:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "5242:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 486, - "nodeType": "ExpressionStatement", - "src": "5242:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 488, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5323:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 489, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5341:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5341:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 491, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5353:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 487, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "5310:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5310:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "5310:55:0" - }, - { - "assignments": [ - 495 - ], - "declarations": [ - { - "constant": false, - "id": 495, - "mutability": "mutable", - "name": "refund", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "5375:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5375:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 500, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 498, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5412:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 496, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5392:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5392:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5375:50:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 501, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5439:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5448:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5439:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 513, - "nodeType": "IfStatement", - "src": "5435:68:0", - "trueBody": { - "id": 512, - "nodeType": "Block", - "src": "5451:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 509, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5485:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5465:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5465:27:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 511, - "nodeType": "ExpressionStatement", - "src": "5465:27:0" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 515, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5538:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5538:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5550:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 518, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5568:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 519, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5581:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 514, - "name": "ProxyBuyTokenWithEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "5517:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5517:77:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 521, - "nodeType": "EmitStatement", - "src": "5512:82:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 522, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5611:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 424, - "id": 523, - "nodeType": "Return", - "src": "5604:19:0" - } - ] - }, - "documentation": null, - "functionSelector": "33e00053", - "id": 525, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 421, - "modifierName": { - "argumentTypes": null, - "id": 420, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4807:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4807:16:0" - } - ], - "name": "buyTokenWithEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4697:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 416, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4731:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4731:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 418, - "mutability": "mutable", - "name": "maxPayEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4760:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4760:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4687:102:0" - }, - "returnParameters": { - "id": 424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "payEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4833:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:0" - }, - "scope": 1166, - "src": "4663:967:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 594, - "nodeType": "Block", - "src": "5770:429:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 535, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5788:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5788:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 537, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5801:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5788:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5812:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5780:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5780:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 541, - "nodeType": "ExpressionStatement", - "src": "5780:55:0" - }, - { - "assignments": [ - 543 - ], - "declarations": [ - { - "constant": false, - "id": 543, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 594, - "src": "5845:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5845:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 551, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 548, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5889:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 549, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "5897:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "5869:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 544, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "5860:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5860:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5845:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 553, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "5933:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5949:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5941:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5933:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5953:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5925:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5925:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 561, - "nodeType": "ExpressionStatement", - "src": "5925:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 563, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5986:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 562, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5980:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5980:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 566, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6009:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5980:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 569, - "nodeType": "ExpressionStatement", - "src": "5980:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 574, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6053:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 575, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6059:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 571, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6037:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 570, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "6031:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "6031:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 577, - "nodeType": "ExpressionStatement", - "src": "6031:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 582, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6105:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6105:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 584, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6117:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6085:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 578, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6079:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositBaseTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10437, - "src": "6079:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "6079:48:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 588, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6164:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 590, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6176:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 591, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6182:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 587, - "name": "ProxyDepositEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "6142:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6142:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 593, - "nodeType": "EmitStatement", - "src": "6137:55:0" - } - ] - }, - "documentation": null, - "functionSelector": "b56a1d03", - "id": 595, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 532, - "modifierName": { - "argumentTypes": null, - "id": 531, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "5749:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5749:16:0" - } - ], - "name": "depositEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5662:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5662:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5681:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5681:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5661:46:0" - }, - "returnParameters": { - "id": 533, - "nodeType": "ParameterList", - "parameters": [], - "src": "5770:0:0" - }, - "scope": 1166, - "src": "5636:563:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 721, - "nodeType": "Block", - "src": "6365:1029:0", - "statements": [ - { - "assignments": [ - 607 - ], - "declarations": [ - { - "constant": false, - "id": 607, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6375:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6375:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 615, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 612, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6419:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 613, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "6427:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 609, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "6399:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 608, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "6390:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6390:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6375:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 617, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6463:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6479:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6471:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6463:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6483:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 616, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6455:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 625, - "nodeType": "ExpressionStatement", - "src": "6455:45:0" - }, - { - "assignments": [ - 627 - ], - "declarations": [ - { - "constant": false, - "id": 627, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6510:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6510:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 633, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 629, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6537:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 628, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6531:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "6531:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6510:55:0" - }, - { - "assignments": [ - 635 - ], - "declarations": [ - { - "constant": false, - "id": 635, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6621:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6621:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 643, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6670:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6670:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 637, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 636, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6621:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 648, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6723:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6723:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 652, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6743:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6735:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 654, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6750:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 645, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6698:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 644, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6691:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "6691:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 656, - "nodeType": "ExpressionStatement", - "src": "6691:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 661, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "6795:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 658, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6776:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 657, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6770:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10444, - "src": "6770:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 663, - "nodeType": "ExpressionStatement", - "src": "6770:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 664, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6869:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 671, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6918:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6910:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 666, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6888:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 665, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6881:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6881:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6869:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 675, - "nodeType": "ExpressionStatement", - "src": "6869:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6962:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6962:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 682, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6974:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 677, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6941:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 676, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6934:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "6934:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 684, - "nodeType": "ExpressionStatement", - "src": "6934:50:0" - }, - { - "assignments": [ - 686 - ], - "declarations": [ - { - "constant": false, - "id": 686, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "7148:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7148:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 696, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 693, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7202:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7194:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 688, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7176:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 687, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7169:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7169:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7148:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 701, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7241:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 698, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7224:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 697, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "7218:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "7218:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "7218:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7282:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 704, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7262:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7262:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "7262:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 713, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7331:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7331:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 715, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "7343:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 716, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7349:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 712, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "7308:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7308:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 718, - "nodeType": "EmitStatement", - "src": "7303:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 719, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7377:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 605, - "id": 720, - "nodeType": "Return", - "src": "7370:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "827df194", - "id": 722, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 602, - "modifierName": { - "argumentTypes": null, - "id": 601, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "6303:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6303:16:0" - } - ], - "name": "withdrawEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 597, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6232:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6232:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 599, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6251:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6251:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6231:46:0" - }, - "returnParameters": { - "id": 605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6337:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6336:24:0" - }, - "scope": 1166, - "src": "6205:1189:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "7544:844:0", - "statements": [ - { - "assignments": [ - 732 - ], - "declarations": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7554:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 731, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7554:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 740, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7598:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7606:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 734, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "7578:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 733, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "7569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "7569:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7554:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 742, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7642:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7658:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 743, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7650:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7642:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7662:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 741, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7634:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 750, - "nodeType": "ExpressionStatement", - "src": "7634:45:0" - }, - { - "assignments": [ - 752 - ], - "declarations": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7689:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7689:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 758, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 754, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 753, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "7710:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7689:55:0" - }, - { - "assignments": [ - 760 - ], - "declarations": [ - { - "constant": false, - "id": 760, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7800:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7800:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 768, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 765, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7849:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 762, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7827:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 761, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7820:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7820:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7800:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7902:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7902:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 777, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7922:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7914:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 779, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7929:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 770, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7877:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 769, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7870:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "7870:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 781, - "nodeType": "ExpressionStatement", - "src": "7870:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7955:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 782, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7949:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10449, - "src": "7949:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 787, - "nodeType": "ExpressionStatement", - "src": "7949:29:0" - }, - { - "assignments": [ - 789 - ], - "declarations": [ - { - "constant": false, - "id": 789, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "8142:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8142:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 799, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8196:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8188:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 791, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8170:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 790, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "8163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "8163:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8142:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 804, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8235:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 801, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8218:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 800, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8212:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "8212:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 806, - "nodeType": "ExpressionStatement", - "src": "8212:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 812, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8276:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 807, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8256:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8256:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 814, - "nodeType": "ExpressionStatement", - "src": "8256:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 816, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8337:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8343:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 815, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "8302:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8302:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 821, - "nodeType": "EmitStatement", - "src": "8297:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8371:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 730, - "id": 823, - "nodeType": "Return", - "src": "8364:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "0ae4b86d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 727, - "modifierName": { - "argumentTypes": null, - "id": 726, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "7482:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7482:16:0" - } - ], - "name": "withdrawAllEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 724, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7430:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7430:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7429:27:0" - }, - "returnParameters": { - "id": 730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7516:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7516:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:24:0" - }, - "scope": 1166, - "src": "7400:988:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "8528:430:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8546:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8546:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 837, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8559:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8546:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8570:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8538:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8538:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 841, - "nodeType": "ExpressionStatement", - "src": "8538:55:0" - }, - { - "assignments": [ - 843 - ], - "declarations": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "8603:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8603:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 851, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 848, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "8647:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 849, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8665:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 845, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "8627:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 844, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "8618:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "8618:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8603:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 853, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8690:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8706:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8698:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8690:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8710:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 852, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8682:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8682:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 861, - "nodeType": "ExpressionStatement", - "src": "8682:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 863, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8743:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 862, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8737:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "8737:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 866, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8766:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "8737:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 869, - "nodeType": "ExpressionStatement", - "src": "8737:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 874, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 875, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8816:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 871, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8794:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 870, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8788:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "8788:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 877, - "nodeType": "ExpressionStatement", - "src": "8788:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 882, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8863:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8863:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 884, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8875:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 879, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8842:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 878, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "8836:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositQuoteTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "8836:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:49:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 886, - "nodeType": "ExpressionStatement", - "src": "8836:49:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 888, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8923:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8923:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 890, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8935:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 891, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8941:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 887, - "name": "ProxyDepositEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8900:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8900:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 893, - "nodeType": "EmitStatement", - "src": "8895:56:0" - } - ] - }, - "documentation": null, - "functionSelector": "ba9344a4", - "id": 895, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 832, - "modifierName": { - "argumentTypes": null, - "id": 831, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "8507:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8507:16:0" - } - ], - "name": "depositEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8421:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8421:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8440:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8420:45:0" - }, - "returnParameters": { - "id": 833, - "nodeType": "ParameterList", - "parameters": [], - "src": "8528:0:0" - }, - "scope": 1166, - "src": "8394:564:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1021, - "nodeType": "Block", - "src": "9124:1031:0", - "statements": [ - { - "assignments": [ - 907 - ], - "declarations": [ - { - "constant": false, - "id": 907, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9134:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9134:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 915, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 912, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "9178:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9196:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 909, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "9158:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 908, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "9149:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "9149:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9134:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 917, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9221:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9237:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9229:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9221:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9241:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 916, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9213:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9213:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 925, - "nodeType": "ExpressionStatement", - "src": "9213:45:0" - }, - { - "assignments": [ - 927 - ], - "declarations": [ - { - "constant": false, - "id": 927, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9268:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 933, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 929, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9295:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 928, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9289:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "9289:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9268:56:0" - }, - { - "assignments": [ - 935 - ], - "declarations": [ - { - "constant": false, - "id": 935, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9380:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 943, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 940, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9429:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9429:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 937, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9407:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 936, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9400:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9380:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9482:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9482:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 952, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9502:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9494:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 954, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9509:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9457:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 944, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9450:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "9450:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 956, - "nodeType": "ExpressionStatement", - "src": "9450:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 961, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9555:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 958, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9535:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 957, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9529:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10465, - "src": "9529:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "nodeType": "ExpressionStatement", - "src": "9529:36:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 964, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9629:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 971, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9678:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9670:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 966, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 965, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9629:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 975, - "nodeType": "ExpressionStatement", - "src": "9629:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 980, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9722:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9722:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 982, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9734:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 977, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9701:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 976, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9694:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "9694:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 984, - "nodeType": "ExpressionStatement", - "src": "9694:50:0" - }, - { - "assignments": [ - 986 - ], - "declarations": [ - { - "constant": false, - "id": 986, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9908:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 993, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9962:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9954:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 988, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9936:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 987, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9929:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9929:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1001, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10001:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 998, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9984:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 997, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "9978:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "9978:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "9978:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1009, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10042:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10022:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10022:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1011, - "nodeType": "ExpressionStatement", - "src": "10022:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1013, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1015, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "10104:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10110:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1012, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "10068:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10068:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1018, - "nodeType": "EmitStatement", - "src": "10063:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1019, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10138:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 905, - "id": 1020, - "nodeType": "Return", - "src": "10131:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "770e96d3", - "id": 1022, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 902, - "modifierName": { - "argumentTypes": null, - "id": 901, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "9062:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9062:16:0" - } - ], - "name": "withdrawEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "8992:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8992:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9011:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9011:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8991:45:0" - }, - "returnParameters": { - "id": 905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 904, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9096:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9095:24:0" - }, - "scope": 1166, - "src": "8964:1191:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1124, - "nodeType": "Block", - "src": "10305:846:0", - "statements": [ - { - "assignments": [ - 1032 - ], - "declarations": [ - { - "constant": false, - "id": 1032, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10315:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10315:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1037, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "10359:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1038, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1034, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "10339:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1033, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "10330:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 1035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 1036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "10330:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10315:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1042, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10402:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10418:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10410:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10402:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10422:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 1041, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10394:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10394:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1050, - "nodeType": "ExpressionStatement", - "src": "10394:45:0" - }, - { - "assignments": [ - 1052 - ], - "declarations": [ - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10449:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10449:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1058, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1054, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10476:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1053, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10470:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "10470:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10449:56:0" - }, - { - "assignments": [ - 1060 - ], - "declarations": [ - { - "constant": false, - "id": 1060, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10561:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10561:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1068, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10610:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10610:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1062, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10588:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1061, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10581:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10581:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10561:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10663:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10663:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1077, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10683:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10675:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1079, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "10690:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1070, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10638:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1069, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10631:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "10631:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1081, - "nodeType": "ExpressionStatement", - "src": "10631:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1083, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1082, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10470, - "src": "10710:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 1086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1087, - "nodeType": "ExpressionStatement", - "src": "10710:30:0" - }, - { - "assignments": [ - 1089 - ], - "declarations": [ - { - "constant": false, - "id": 1089, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10904:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10904:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1099, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1096, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10958:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10950:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1091, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10932:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1090, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10925:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10925:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10904:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "10997:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1101, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10980:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1100, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "10974:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "10974:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "10974:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1112, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11038:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1107, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11018:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11018:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1114, - "nodeType": "ExpressionStatement", - "src": "11018:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1116, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11088:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11088:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1118, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "11100:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1119, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11106:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1115, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "11064:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11064:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1121, - "nodeType": "EmitStatement", - "src": "11059:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1122, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11134:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1030, - "id": 1123, - "nodeType": "Return", - "src": "11127:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "3cff9b56", - "id": 1125, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1027, - "modifierName": { - "argumentTypes": null, - "id": 1026, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "10243:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10243:16:0" - } - ], - "name": "withdrawAllEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1024, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10192:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10192:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10191:26:0" - }, - "returnParameters": { - "id": 1030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1029, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10277:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10276:24:0" - }, - "scope": 1166, - "src": "10161:990:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1146, - "nodeType": "Block", - "src": "11320:83:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1138, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1129, - "src": "11368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1141, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11382:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11374:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1143, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1131, - "src": "11389:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1135, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "11337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1134, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11330:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "11330:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:66:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "11330:66:0" - } - ] - }, - "documentation": null, - "id": 1147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1127, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11238:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11238:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1129, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11268:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11290:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11290:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11228:82:0" - }, - "returnParameters": { - "id": 1133, - "nodeType": "ParameterList", - "parameters": [], - "src": "11320:0:0" - }, - "scope": 1166, - "src": "11208:195:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1164, - "nodeType": "Block", - "src": "11520:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1151, - "src": "11564:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1161, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "11568:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1157, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "11537:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1156, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11530:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "11530:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "ExpressionStatement", - "src": "11530:45:0" - } - ] - }, - "documentation": null, - "id": 1165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11440:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11470:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11470:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11490:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11490:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11430:80:0" - }, - "returnParameters": { - "id": 1155, - "nodeType": "ParameterList", - "parameters": [], - "src": "11520:0:0" - }, - "scope": 1166, - "src": "11409:173:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1167, - "src": "636:10948:0" - } - ], - "src": "78:11507:0" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.452Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "DODO Eth Proxy" - }, - "userdoc": { - "methods": {}, - "notice": "Handle ETH-WETH converting for users." - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOLpToken.json b/build-v1/contracts/DODOLpToken.json deleted file mode 100644 index b2ea611..0000000 --- a/build-v1/contracts/DODOLpToken.json +++ /dev/null @@ -1,10705 +0,0 @@ -{ - "contractName": "DODOLpToken", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_originToken", - "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": "amount", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "amount", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "originToken", - "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": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "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": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "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": "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" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originToken\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"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\":\"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\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"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\":\"originToken\",\"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\":\"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\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"returns\":{\"_0\":\"A uint256 specifying the amount of tokens still available for the spender.\"}},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\",\"params\":{\"amount\":\"The amount of tokens to be spent.\",\"spender\":\"The address which will spend the funds.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the the balance of.\"},\"returns\":{\"balance\":\"An uint256 representing the amount owned by the passed address.\"}},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"amount\":\"The amount to be transferred.\",\"to\":\"The address to transfer to.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"amount\":\"uint256 the amount of tokens to be transferred\",\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\"}}},\"title\":\"DODOLpToken\"},\"userdoc\":{\"methods\":{},\"notice\":\"Tokenize liquidity pool assets. An ordinary ERC20 contract with mint and burn functions\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol\":\"DODOLpToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol\":{\"keccak256\":\"0x93bb74398b96b44febba31ad63435edae743142088311a325215aaa34d35b512\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://0991fee8f385b3266ff39672b209906557d1be7308b5a35749f3f8453f427d2b\",\"dweb:/ipfs/Qmf8sKLSQkcniYin94QfNGc8GLMaVrLzQUq2grV5Hu7JyU\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60c060405260036080819052620444c560ec1b60a0908152620000269160029190620000c6565b503480156200003457600080fd5b506040516200102d3803806200102d83398101604081905262000057916200016b565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600380546001600160a01b0319166001600160a01b03929092169190911790556200019b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010957805160ff191683800117855562000139565b8280016001018555821562000139579182015b82811115620001395782518255916020019190600101906200011c565b50620001479291506200014b565b5090565b6200016891905b8082111562000147576000815560010162000152565b90565b6000602082840312156200017d578081fd5b81516001600160a01b038116811462000194578182fd5b9392505050565b610e8280620001ab6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634e71e0c8116100975780639dc29fac116100665780639dc29fac146101dd578063a9059cbb146101f0578063dd62ed3e14610203578063f2fde38b1461021657610100565b80634e71e0c8146101b257806370a08231146101ba5780638456db15146101cd57806395d89b41146101d557610100565b806318160ddd116100d357806318160ddd1461016057806323b872dd14610175578063313ce5671461018857806340c10f191461019d57610100565b806306fdde0314610105578063095ea7b31461012357806313096a411461014357806316048bc414610158575b600080fd5b61010d610229565b60405161011a9190610c89565b60405180910390f35b610136610131366004610b56565b6102f6565b60405161011a9190610c7e565b61014b610361565b60405161011a9190610c6a565b61014b610370565b61016861037f565b60405161011a9190610dcd565b610136610183366004610b16565b610385565b610190610509565b60405161011a9190610dd6565b6101b06101ab366004610b56565b61058b565b005b6101b061068e565b6101686101c8366004610ac7565b61071c565b61014b610737565b61010d610746565b6101b06101eb366004610b56565b6107d1565b6101366101fe366004610b56565b6108c8565b610168610211366004610ae2565b610986565b6101b0610224366004610ac7565b6109b1565b604080518082018252600f81526e5f444f444f5f4c505f544f4b454e5f60881b602082015260035482516306fdde0360e01b815292516060936001600160a01b03909216916306fdde03916004808301926000929190829003018186803b15801561029357600080fd5b505afa1580156102a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102cf9190810190610b80565b816040516020016102e1929190610c3c565b60405160208183030381529060405291505090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034f908690610dcd565b60405180910390a35060015b92915050565b6003546001600160a01b031681565b6000546001600160a01b031681565b60045481565b6001600160a01b0383166000908152600560205260408120548211156103c65760405162461bcd60e51b81526004016103bd90610d5b565b60405180910390fd5b6001600160a01b03841660009081526006602090815260408083203384529091529020548211156104095760405162461bcd60e51b81526004016103bd90610ce3565b6001600160a01b038416600090815260056020526040902054610432908363ffffffff610a5c16565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610467908363ffffffff610a8416565b6001600160a01b0380851660009081526005602090815260408083209490945591871681526006825282812033825290915220546104ab908363ffffffff610a5c16565b6001600160a01b038086166000818152600660209081526040808320338452909152908190209390935591519085169190600080516020610e2d833981519152906104f7908690610dcd565b60405180910390a35060019392505050565b6003546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610c1b565b905090565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b0382166000908152600560205260409020546105de908263ffffffff610a8416565b6001600160a01b03831660009081526005602052604090205560045461060a908263ffffffff610a8416565b6004556040516001600160a01b038316907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590610648908490610dcd565b60405180910390a2816001600160a01b031660006001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b60405180910390a35050565b6001546001600160a01b031633146106b85760405162461bcd60e51b81526004016103bd90610cbc565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b505050505081565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038216600090815260056020526040902054610824908263ffffffff610a5c16565b6001600160a01b038316600090815260056020526040902055600454610850908263ffffffff610a5c16565b6004556040516001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59061088e908490610dcd565b60405180910390a260006001600160a01b0316826001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b336000908152600560205260408120548211156108f75760405162461bcd60e51b81526004016103bd90610d5b565b33600090815260056020526040902054610917908363ffffffff610a5c16565b33600090815260056020526040808220929092556001600160a01b03851681522054610949908363ffffffff610a8416565b6001600160a01b038416600081815260056020526040908190209290925590513390600080516020610e2d8339815191529061034f908690610dcd565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146109db5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038116610a015760405162461bcd60e51b81526004016103bd90610d34565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610a7e5760405162461bcd60e51b81526004016103bd90610d11565b50900390565b600082820183811015610aa95760405162461bcd60e51b81526004016103bd90610daa565b9392505050565b80356001600160a01b038116811461035b57600080fd5b600060208284031215610ad8578081fd5b610aa98383610ab0565b60008060408385031215610af4578081fd5b610afe8484610ab0565b9150610b0d8460208501610ab0565b90509250929050565b600080600060608486031215610b2a578081fd5b8335610b3581610e14565b92506020840135610b4581610e14565b929592945050506040919091013590565b60008060408385031215610b68578182fd5b610b728484610ab0565b946020939093013593505050565b600060208284031215610b91578081fd5b815167ffffffffffffffff80821115610ba8578283fd5b81840185601f820112610bb9578384fd5b8051925081831115610bc9578384fd5b604051601f8401601f191681016020018381118282101715610be9578586fd5b604052838152818401602001871015610c00578485fd5b610c11846020830160208501610de4565b9695505050505050565b600060208284031215610c2c578081fd5b815160ff81168114610aa9578182fd5b60008351610c4e818460208801610de4565b8351908301610c61828260208801610de4565b01949350505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602082528251806020840152610ca8816040850160208701610de4565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b60ff91909116815260200190565b60005b83811015610dff578181015183820152602001610de7565b83811115610e0e576000848401525b50505050565b6001600160a01b0381168114610e2957600080fd5b5056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cf0d1d887af2d1880badc337ef0f270c8675b4bfd794dc60bdaa78dec3bd19664736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80634e71e0c8116100975780639dc29fac116100665780639dc29fac146101dd578063a9059cbb146101f0578063dd62ed3e14610203578063f2fde38b1461021657610100565b80634e71e0c8146101b257806370a08231146101ba5780638456db15146101cd57806395d89b41146101d557610100565b806318160ddd116100d357806318160ddd1461016057806323b872dd14610175578063313ce5671461018857806340c10f191461019d57610100565b806306fdde0314610105578063095ea7b31461012357806313096a411461014357806316048bc414610158575b600080fd5b61010d610229565b60405161011a9190610c89565b60405180910390f35b610136610131366004610b56565b6102f6565b60405161011a9190610c7e565b61014b610361565b60405161011a9190610c6a565b61014b610370565b61016861037f565b60405161011a9190610dcd565b610136610183366004610b16565b610385565b610190610509565b60405161011a9190610dd6565b6101b06101ab366004610b56565b61058b565b005b6101b061068e565b6101686101c8366004610ac7565b61071c565b61014b610737565b61010d610746565b6101b06101eb366004610b56565b6107d1565b6101366101fe366004610b56565b6108c8565b610168610211366004610ae2565b610986565b6101b0610224366004610ac7565b6109b1565b604080518082018252600f81526e5f444f444f5f4c505f544f4b454e5f60881b602082015260035482516306fdde0360e01b815292516060936001600160a01b03909216916306fdde03916004808301926000929190829003018186803b15801561029357600080fd5b505afa1580156102a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102cf9190810190610b80565b816040516020016102e1929190610c3c565b60405160208183030381529060405291505090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034f908690610dcd565b60405180910390a35060015b92915050565b6003546001600160a01b031681565b6000546001600160a01b031681565b60045481565b6001600160a01b0383166000908152600560205260408120548211156103c65760405162461bcd60e51b81526004016103bd90610d5b565b60405180910390fd5b6001600160a01b03841660009081526006602090815260408083203384529091529020548211156104095760405162461bcd60e51b81526004016103bd90610ce3565b6001600160a01b038416600090815260056020526040902054610432908363ffffffff610a5c16565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610467908363ffffffff610a8416565b6001600160a01b0380851660009081526005602090815260408083209490945591871681526006825282812033825290915220546104ab908363ffffffff610a5c16565b6001600160a01b038086166000818152600660209081526040808320338452909152908190209390935591519085169190600080516020610e2d833981519152906104f7908690610dcd565b60405180910390a35060019392505050565b6003546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610c1b565b905090565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b0382166000908152600560205260409020546105de908263ffffffff610a8416565b6001600160a01b03831660009081526005602052604090205560045461060a908263ffffffff610a8416565b6004556040516001600160a01b038316907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590610648908490610dcd565b60405180910390a2816001600160a01b031660006001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b60405180910390a35050565b6001546001600160a01b031633146106b85760405162461bcd60e51b81526004016103bd90610cbc565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b505050505081565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038216600090815260056020526040902054610824908263ffffffff610a5c16565b6001600160a01b038316600090815260056020526040902055600454610850908263ffffffff610a5c16565b6004556040516001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59061088e908490610dcd565b60405180910390a260006001600160a01b0316826001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b336000908152600560205260408120548211156108f75760405162461bcd60e51b81526004016103bd90610d5b565b33600090815260056020526040902054610917908363ffffffff610a5c16565b33600090815260056020526040808220929092556001600160a01b03851681522054610949908363ffffffff610a8416565b6001600160a01b038416600081815260056020526040908190209290925590513390600080516020610e2d8339815191529061034f908690610dcd565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146109db5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038116610a015760405162461bcd60e51b81526004016103bd90610d34565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610a7e5760405162461bcd60e51b81526004016103bd90610d11565b50900390565b600082820183811015610aa95760405162461bcd60e51b81526004016103bd90610daa565b9392505050565b80356001600160a01b038116811461035b57600080fd5b600060208284031215610ad8578081fd5b610aa98383610ab0565b60008060408385031215610af4578081fd5b610afe8484610ab0565b9150610b0d8460208501610ab0565b90509250929050565b600080600060608486031215610b2a578081fd5b8335610b3581610e14565b92506020840135610b4581610e14565b929592945050506040919091013590565b60008060408385031215610b68578182fd5b610b728484610ab0565b946020939093013593505050565b600060208284031215610b91578081fd5b815167ffffffffffffffff80821115610ba8578283fd5b81840185601f820112610bb9578384fd5b8051925081831115610bc9578384fd5b604051601f8401601f191681016020018381118282101715610be9578586fd5b604052838152818401602001871015610c00578485fd5b610c11846020830160208501610de4565b9695505050505050565b600060208284031215610c2c578081fd5b815160ff81168114610aa9578182fd5b60008351610c4e818460208801610de4565b8351908301610c61828260208801610de4565b01949350505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602082528251806020840152610ca8816040850160208701610de4565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b60ff91909116815260200190565b60005b83811015610dff578181015183820152602001610de7565b83811115610e0e576000848401525b50505050565b6001600160a01b0381168114610e2957600080fd5b5056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cf0d1d887af2d1880badc337ef0f270c8675b4bfd794dc60bdaa78dec3bd19664736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "497:28:23:-:0;426:4085;497:28;;426:4085;497:28;;;-1:-1:-1;;;497:28:23;;;;;;;;;;:::i;:::-;;1075:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;757;792:41;;757:7;;792:41;1126:11:23;:26;;-1:-1:-1;;;;;;1126:26:23;-1:-1:-1;;;;;1126:26:23;;;;;;;;;;426:4085;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;426:4085:23;;;-1:-1:-1;426:4085:23;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;83:13;;-1:-1;;;;;576:54;;701:35;;691:2;;-1:-1;;740:12;691:2;319:74;223:186;-1:-1;;;223:186;;426:4085:23;;;;;;", - "deployedSourceMap": "426:4085:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1165:200;;;:::i;:::-;;;;;;;;;;;;;;;;3345:199;;;;;;;;;:::i;:::-;;;;;;;;531:26;;;:::i;:::-;;;;;;;;251:22:38;;;:::i;564:26:23:-;;;:::i;:::-;;;;;;;;2596:506;;;;;;;;;:::i;1371:102::-;;;:::i;:::-;;;;;;;;4009:247;;;;;;;;;:::i;:::-;;1072:225:38;;;:::i;2196:113:23:-;;;;;;;;;:::i;279:26:38:-;;;:::i;497:28:23:-;;;:::i;4262:247::-;;;;;;;;;:::i;1642:329::-;;;;;;;;;:::i;3875:128::-;;;;;;;;;:::i;846:220:38:-;;;;;;;;;:::i;1165:200:23:-;1227:47;;;;;;;;;;;-1:-1:-1;;;1227:47:23;;;;1322:11;;1315:26;;-1:-1:-1;;;1315:26:23;;;;1202:13;;-1:-1:-1;;;;;1322:11:23;;;;-1:-1:-1;;1315:26:23;;;;;-1:-1:-1;;1315:26:23;;;;;;;1322:11;1315:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1315:26:23;;;;;;;;;;;;;;1343:13;1298:59;;;;;;;;;;;;;;;;;;;;;;;1284:74;;;1165:200;:::o;3345:199::-;3435:10;3411:4;3427:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3427:28:23;;;;;;;;;;:37;;;3479;3411:4;;3427:28;;3479:37;;;;3427;;3479;;;;;;;;;;-1:-1:-1;3533:4:23;3345:199;;;;;:::o;531:26::-;;;-1:-1:-1;;;;;531:26:23;;:::o;251:22:38:-;;;-1:-1:-1;;;;;251:22:38;;:::o;564:26:23:-;;;;:::o;2596:506::-;-1:-1:-1;;;;;2740:14:23;;2706:4;2740:14;;;:8;:14;;;;;;2730:24;;;2722:55;;;;-1:-1:-1;;;2722:55:23;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2805:13:23;;;;;;:7;:13;;;;;;;;2819:10;2805:25;;;;;;;;2795:35;;;2787:68;;;;-1:-1:-1;;;2787:68:23;;;;;;;;;-1:-1:-1;;;;;2883:14:23;;;;;;:8;:14;;;;;;:26;;2902:6;2883:18;:26::i;:::-;-1:-1:-1;;;;;2866:14:23;;;;;;;:8;:14;;;;;;:43;;;;2934:12;;;;;;;:24;;2951:6;2934:16;:24::i;:::-;-1:-1:-1;;;;;2919:12:23;;;;;;;:8;:12;;;;;;;;:39;;;;2996:13;;;;;:7;:13;;;;;3010:10;2996:25;;;;;;;:37;;3026:6;2996:29;:37::i;:::-;-1:-1:-1;;;;;2968:13:23;;;;;;;:7;:13;;;;;;;;2982:10;2968:25;;;;;;;;;:65;;;;3048:26;;;;;2968:13;;3048:26;2982:10;-1:-1:-1;2968:13:23;-1:-1:-1;;;;;3048:26:23;;;3067:6;;3048:26;;;;;;;;;;-1:-1:-1;3091:4:23;2596:506;;;;;:::o;1371:102::-;1443:11;;1436:30;;;-1:-1:-1;;;1436:30:23;;;;1412:5;;-1:-1:-1;;;;;1443:11:23;;-1:-1:-1;;1436:30:23;;;;;;;;;;;;;;1443:11;1436:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:37;;1371:102;:::o;4009:247::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;4098:14:23;::::1;;::::0;;;:8:::1;:14;::::0;;;;;:25:::1;::::0;4117:5;4098:18:::1;:25::i;:::-;-1:-1:-1::0;;;;;4081:14:23;::::1;;::::0;;;:8:::1;:14;::::0;;;;:42;4147:11:::1;::::0;:22:::1;::::0;4163:5;4147:15:::1;:22::i;:::-;4133:11;:36:::0;4184:17:::1;::::0;-1:-1:-1;;;;;4184:17:23;::::1;::::0;::::1;::::0;::::1;::::0;4195:5;;4184:17:::1;;;;;;;;;;4233:1;-1:-1:-1::0;;;;;;;4216:33:23;::::1;::::0;4233:1;;;-1:-1:-1;;4233:1:23;-1:-1:-1;;;;;4243:5:23::1;4216:33;;;;;;;;;;;;;;;4009:247:::0;;:::o;1072:225:38:-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;1245:11:38;;-1:-1:-1;;;;;;1235:21:38;;;;;;;1266:24;;;1072:225::o;2196:113:23:-;-1:-1:-1;;;;;2287:15:23;2253;2287;;;:8;:15;;;;;;;2196:113::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;497:28:23:-;;;;;;;;;;;;;;-1:-1:-1;;497:28:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4262:247::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;4351:14:23;::::1;;::::0;;;:8:::1;:14;::::0;;;;;:25:::1;::::0;4370:5;4351:18:::1;:25::i;:::-;-1:-1:-1::0;;;;;4334:14:23;::::1;;::::0;;;:8:::1;:14;::::0;;;;:42;4400:11:::1;::::0;:22:::1;::::0;4416:5;4400:15:::1;:22::i;:::-;4386:11;:36:::0;4437:17:::1;::::0;-1:-1:-1;;;;;4437:17:23;::::1;::::0;::::1;::::0;::::1;::::0;4448:5;;4437:17:::1;;;;;;;;;;4492:1;-1:-1:-1::0;;;;;;;4469:33:23;::::1;::::0;4492:1;;-1:-1:-1;;4492:1:23;-1:-1:-1;;;;;4496:5:23::1;4469:33;;;;;;;1642:329:::0;1747:10;1704:4;1738:20;;;:8;:20;;;;;;1728:30;;;1720:61;;;;-1:-1:-1;;;1720:61:23;;;;;;;;;1824:10;1815:20;;;;:8;:20;;;;;;:32;;1840:6;1815:32;:24;:32;:::i;:::-;1801:10;1792:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;1872:12:23;;;;;;:24;;1889:6;1872:16;:24::i;:::-;-1:-1:-1;;;;;1857:12:23;;;;;;:8;:12;;;;;;;;:39;;;;1911:32;;1857:12;;1920:10;;1911:32;1857:12;;;-1:-1:-1;1857:12:23;-1:-1:-1;;;;;1911:32:23;;;1936:6;;1911:32;;3875:128;-1:-1:-1;;;;;3973:14:23;;;3947:7;3973:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;3875:128::o;846:220:38:-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;::::0;-1:-1:-1;;;920:48:38;;::::1;::::0;::::1;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;1074:157::-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;5:130:-1:-;72:20;;-1:-1;;;;;12349:54;;13023:35;;13013:2;;13072:1;;13062:12;869:241;;973:2;961:9;952:7;948:23;944:32;941:2;;;-1:-1;;979:12;941:2;1041:53;1086:7;1062:22;1041:53;;1117:366;;;1238:2;1226:9;1217:7;1213:23;1209:32;1206:2;;;-1:-1;;1244:12;1206:2;1306:53;1351:7;1327:22;1306:53;;;1296:63;;1414:53;1459:7;1396:2;1439:9;1435:22;1414:53;;;1404:63;;1200:283;;;;;;1490:491;;;;1628:2;1616:9;1607:7;1603:23;1599:32;1596:2;;;-1:-1;;1634:12;1596:2;85:6;72:20;97:33;124:5;97:33;;;1686:63;-1:-1;1786:2;1825:22;;72:20;97:33;72:20;97:33;;;1590:391;;1794:63;;-1:-1;;;1894:2;1933:22;;;;662:20;;1590:391;1988:366;;;2109:2;2097:9;2088:7;2084:23;2080:32;2077:2;;;-1:-1;;2115:12;2077:2;2177:53;2222:7;2198:22;2177:53;;;2167:63;2267:2;2306:22;;;;662:20;;-1:-1;;;2071:283;2361:362;;2486:2;2474:9;2465:7;2461:23;2457:32;2454:2;;;-1:-1;;2492:12;2454:2;2543:17;2537:24;2581:18;;2573:6;2570:30;2567:2;;;-1:-1;;2603:12;2567:2;2690:6;2679:9;2675:22;256:3;249:4;241:6;237:17;233:27;223:2;;-1:-1;;264:12;223:2;304:6;298:13;284:27;;2581:18;11449:6;11446:30;11443:2;;;-1:-1;;11479:12;11443:2;11112;11106:9;2486:2;-1:-1;;11552:9;11533:17;;11529:33;11138:17;;;11234:22;;;11198:34;;;11195:62;11192:2;;;-1:-1;;11260:12;11192:2;11112;11279:22;397:21;;;497:16;;;2486:2;497:16;494:25;-1:-1;491:2;;;-1:-1;;522:12;491:2;542:39;574:6;2486:2;473:5;469:16;2486:2;439:6;435:17;542:39;;;2623:84;2448:275;-1:-1;;;;;;2448:275;2730:259;;2843:2;2831:9;2822:7;2818:23;2814:32;2811:2;;;-1:-1;;2849:12;2811:2;814:6;808:13;12565:4;13295:5;12554:16;13272:5;13269:33;13259:2;;-1:-1;;13306:12;6433:436;;3744:5;11730:12;3856:52;3901:6;3896:3;3889:4;3882:5;3878:16;3856:52;;;11730:12;;;3920:16;;3856:52;11730:12;3920:16;3889:4;3878:16;;3856:52;;;3920:16;;6617:252;-1:-1;;;;6617:252;6876:222;-1:-1;;;;;12349:54;;;;3067:37;;7003:2;6988:18;;6974:124;7105:210;12261:13;;12254:21;3181:34;;7226:2;7211:18;;7197:118;7322:310;;7469:2;7490:17;7483:47;3372:5;11730:12;11887:6;7469:2;7458:9;7454:18;11875:19;3466:52;3511:6;11915:14;7458:9;11915:14;7469:2;3492:5;3488:16;3466:52;;;11552:9;12927:14;-1:-1;;12923:28;3530:39;;;;11915:14;3530:39;;7440:192;-1:-1;;7440:192;7639:416;7839:2;7853:47;;;4173:2;7824:18;;;11875:19;-1:-1;;;11915:14;;;4189:36;4244:12;;;7810:245;8062:416;8262:2;8276:47;;;4495:2;8247:18;;;11875:19;-1:-1;;;11915:14;;;4511:43;4573:12;;;8233:245;8485:416;8685:2;8699:47;;;4824:1;8670:18;;;11875:19;-1:-1;;;11915:14;;;4839:32;4890:12;;;8656:245;8908:416;9108:2;9122:47;;;5141:2;9093:18;;;11875:19;-1:-1;;;11915:14;;;5157:36;5212:12;;;9079:245;9331:416;9531:2;9545:47;;;5463:2;9516:18;;;11875:19;-1:-1;;;11915:14;;;5479:41;5539:12;;;9502:245;9754:416;9954:2;9968:47;;;5790:1;9939:18;;;11875:19;-1:-1;;;11915:14;;;5805:32;5856:12;;;9925:245;10177:416;10377:2;10391:47;;;6107:1;10362:18;;;11875:19;-1:-1;;;11915:14;;;6122:32;6173:12;;;10348:245;10600:222;6270:37;;;10727:2;10712:18;;10698:124;10829:214;12565:4;12554:16;;;;6386:35;;10952:2;10937:18;;10923:120;12583:268;12648:1;12655:101;12669:6;12666:1;12663:13;12655:101;;;12736:11;;;12730:18;12717:11;;;12710:39;12691:2;12684:10;12655:101;;;12771:6;12768:1;12765:13;12762:2;;;12648:1;12827:6;12822:3;12818:16;12811:27;12762:2;;12632:219;;;;12964:117;-1:-1;;;;;12349:54;;13023:35;;13013:2;;13072:1;;13062:12;13013:2;13007:74;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {Ownable} from \"../lib/Ownable.sol\";\n\n/**\n * @title DODOLpToken\n * @author DODO Breeder\n *\n * @notice Tokenize liquidity pool assets. An ordinary ERC20 contract with mint and burn functions\n */\ncontract DODOLpToken is Ownable {\n using SafeMath for uint256;\n\n string public symbol = \"DLP\";\n address public originToken;\n\n uint256 public totalSupply;\n mapping(address => uint256) internal balances;\n mapping(address => mapping(address => uint256)) internal allowed;\n\n // ============ Events ============\n\n event Transfer(address indexed from, address indexed to, uint256 amount);\n\n event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n event Mint(address indexed user, uint256 value);\n\n event Burn(address indexed user, uint256 value);\n\n // ============ Functions ============\n\n constructor(address _originToken) public {\n originToken = _originToken;\n }\n\n function name() public view returns (string memory) {\n string memory lpTokenSuffix = \"_DODO_LP_TOKEN_\";\n return string(abi.encodePacked(IERC20(originToken).name(), lpTokenSuffix));\n }\n\n function decimals() public view returns (uint8) {\n return IERC20(originToken).decimals();\n }\n\n /**\n * @dev transfer token for a specified address\n * @param to The address to transfer to.\n * @param amount The amount to be transferred.\n */\n function transfer(address to, uint256 amount) public returns (bool) {\n require(amount <= balances[msg.sender], \"BALANCE_NOT_ENOUGH\");\n\n balances[msg.sender] = balances[msg.sender].sub(amount);\n balances[to] = balances[to].add(amount);\n emit Transfer(msg.sender, to, amount);\n return true;\n }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param owner The address to query the the balance of.\n * @return balance An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address owner) external view returns (uint256 balance) {\n return balances[owner];\n }\n\n /**\n * @dev Transfer tokens from one address to another\n * @param from address The address which you want to send tokens from\n * @param to address The address which you want to transfer to\n * @param amount uint256 the amount of tokens to be transferred\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public returns (bool) {\n require(amount <= balances[from], \"BALANCE_NOT_ENOUGH\");\n require(amount <= allowed[from][msg.sender], \"ALLOWANCE_NOT_ENOUGH\");\n\n balances[from] = balances[from].sub(amount);\n balances[to] = balances[to].add(amount);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount);\n emit Transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * @param spender The address which will spend the funds.\n * @param amount The amount of tokens to be spent.\n */\n function approve(address spender, uint256 amount) public returns (bool) {\n allowed[msg.sender][spender] = amount;\n emit Approval(msg.sender, spender, amount);\n return true;\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param owner address The address which owns the funds.\n * @param spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address owner, address spender) public view returns (uint256) {\n return allowed[owner][spender];\n }\n\n function mint(address user, uint256 value) external onlyOwner {\n balances[user] = balances[user].add(value);\n totalSupply = totalSupply.add(value);\n emit Mint(user, value);\n emit Transfer(address(0), user, value);\n }\n\n function burn(address user, uint256 value) external onlyOwner {\n balances[user] = balances[user].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Burn(user, value);\n emit Transfer(user, address(0), value);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol", - "exportedSymbols": { - "DODOLpToken": [ - 7347 - ] - }, - "id": 7348, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6965, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:23" - }, - { - "id": 6966, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:23" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 6968, - "nodeType": "ImportDirective", - "scope": 7348, - "sourceUnit": 10608, - "src": "136:42:23", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6967, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:6:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 6970, - "nodeType": "ImportDirective", - "scope": 7348, - "sourceUnit": 11624, - "src": "179:45:23", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6969, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "187:8:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 6972, - "nodeType": "ImportDirective", - "scope": 7348, - "sourceUnit": 11272, - "src": "225:43:23", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6971, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "233:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6974, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "450:7:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 6975, - "nodeType": "InheritanceSpecifier", - "src": "450:7:23" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": { - "id": 6973, - "nodeType": "StructuredDocumentation", - "src": "270:155:23", - "text": " @title DODOLpToken\n @author DODO Breeder\n @notice Tokenize liquidity pool assets. An ordinary ERC20 contract with mint and burn functions" - }, - "fullyImplemented": true, - "id": 7347, - "linearizedBaseContracts": [ - 7347, - 11271 - ], - "name": "DODOLpToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6978, - "libraryName": { - "contractScope": null, - "id": 6976, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "470:8:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "464:27:23", - "typeName": { - "id": 6977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 6981, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "497:28:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6979, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "497:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "444c50", - "id": 6980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "520:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ad4ac2ef6228a2adb212e98f01d891da2027029dcf86bc341ca6cc047d65e8a7", - "typeString": "literal_string \"DLP\"" - }, - "value": "DLP" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "13096a41", - "id": 6983, - "mutability": "mutable", - "name": "originToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "531:26:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "531:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 6985, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "564:26:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "564:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6989, - "mutability": "mutable", - "name": "balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "596:45:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6988, - "keyType": { - "id": 6986, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "604:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "596:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "615:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6995, - "mutability": "mutable", - "name": "allowed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "647:64:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 6994, - "keyType": { - "id": 6990, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "655:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "647:47:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 6993, - "keyType": { - "id": 6991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "674:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "666:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "685:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 7003, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 7002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6997, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7003, - "src": "774:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "774:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6999, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7003, - "src": "796:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "796:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7001, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7003, - "src": "816:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "816:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "773:58:23" - }, - "src": "759:73:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 7011, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 7010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7005, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7011, - "src": "853:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7004, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "853:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7007, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7011, - "src": "876:23:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "876:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7009, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7011, - "src": "901:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "901:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "852:64:23" - }, - "src": "838:79:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 7017, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 7016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7013, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7017, - "src": "934:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7015, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7017, - "src": "956:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "956:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "933:37:23" - }, - "src": "923:48:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 7023, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 7022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7019, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7023, - "src": "988:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "988:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7021, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7023, - "src": "1010:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "987:37:23" - }, - "src": "977:48:23" - }, - { - "body": { - "id": 7032, - "nodeType": "Block", - "src": "1116:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7028, - "name": "originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "1126:11:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7029, - "name": "_originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7025, - "src": "1140:12:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1126:26:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7031, - "nodeType": "ExpressionStatement", - "src": "1126:26:23" - } - ] - }, - "documentation": null, - "id": 7033, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7025, - "mutability": "mutable", - "name": "_originToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "1087:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1087:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1086:22:23" - }, - "returnParameters": { - "id": 7027, - "nodeType": "ParameterList", - "parameters": [], - "src": "1116:0:23" - }, - "scope": 7347, - "src": "1075:84:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7055, - "nodeType": "Block", - "src": "1217:148:23", - "statements": [ - { - "assignments": [ - 7039 - ], - "declarations": [ - { - "constant": false, - "id": 7039, - "mutability": "mutable", - "name": "lpTokenSuffix", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7055, - "src": "1227:27:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7038, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1227:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7041, - "initialValue": { - "argumentTypes": null, - "hexValue": "5f444f444f5f4c505f544f4b454e5f", - "id": 7040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1257:17:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fd33f461926c288e22976ed16405c386e401ae2dabde8aeb3b67fd7ee18035e7", - "typeString": "literal_string \"_DODO_LP_TOKEN_\"" - }, - "value": "_DODO_LP_TOKEN_" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1227:47:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7047, - "name": "originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "1322:11:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7046, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1315:6:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 7048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1315:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 7049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 10556, - "src": "1315:24:23", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view external returns (string memory)" - } - }, - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1315:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 7051, - "name": "lpTokenSuffix", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "1343:13:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 7044, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1298:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1298:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1298:59:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1291:6:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 7042, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1291:6:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1291:67:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 7037, - "id": 7054, - "nodeType": "Return", - "src": "1284:74:23" - } - ] - }, - "documentation": null, - "functionSelector": "06fdde03", - "id": 7056, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7034, - "nodeType": "ParameterList", - "parameters": [], - "src": "1178:2:23" - }, - "returnParameters": { - "id": 7037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7036, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7056, - "src": "1202:13:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7035, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1202:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1201:15:23" - }, - "scope": 7347, - "src": "1165:200:23", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7067, - "nodeType": "Block", - "src": "1419:54:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7062, - "name": "originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "1443:11:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7061, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1436:6:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 7063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1436:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 7064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 10551, - "src": "1436:28:23", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 7065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1436:30:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7060, - "id": 7066, - "nodeType": "Return", - "src": "1429:37:23" - } - ] - }, - "documentation": null, - "functionSelector": "313ce567", - "id": 7068, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7057, - "nodeType": "ParameterList", - "parameters": [], - "src": "1388:2:23" - }, - "returnParameters": { - "id": 7060, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7059, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7068, - "src": "1412:5:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7058, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1412:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1411:7:23" - }, - "scope": 7347, - "src": "1371:102:23", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7121, - "nodeType": "Block", - "src": "1710:261:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7079, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1728:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7080, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1738:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7083, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1747:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1747:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1738:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1728:30:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 7085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1760:20:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7078, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1720:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:61:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7087, - "nodeType": "ExpressionStatement", - "src": "1720:61:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7088, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1792:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7091, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7089, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1801:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1801:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1792:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7097, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1840:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7092, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1815:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7095, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7093, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1824:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1824:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1815:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1815:24:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1815:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1792:55:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7100, - "nodeType": "ExpressionStatement", - "src": "1792:55:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7101, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1857:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7103, - "indexExpression": { - "argumentTypes": null, - "id": 7102, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "1866:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1857:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7108, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1889:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7104, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1872:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7106, - "indexExpression": { - "argumentTypes": null, - "id": 7105, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "1881:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1872:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1872:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1872:24:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1857:39:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7111, - "nodeType": "ExpressionStatement", - "src": "1857:39:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7113, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1920:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1920:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7115, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "1932:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7116, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1936:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7112, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "1911:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1911:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7118, - "nodeType": "EmitStatement", - "src": "1906:37:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1960:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7077, - "id": 7120, - "nodeType": "Return", - "src": "1953:11:23" - } - ] - }, - "documentation": { - "id": 7069, - "nodeType": "StructuredDocumentation", - "src": "1479:158:23", - "text": " @dev transfer token for a specified address\n @param to The address to transfer to.\n @param amount The amount to be transferred." - }, - "functionSelector": "a9059cbb", - "id": 7122, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7071, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7122, - "src": "1660:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1660:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7073, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7122, - "src": "1672:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1672:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1659:28:23" - }, - "returnParameters": { - "id": 7077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7076, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7122, - "src": "1704:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7075, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1704:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1703:6:23" - }, - "scope": 7347, - "src": "1642:329:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7134, - "nodeType": "Block", - "src": "2270:39:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7130, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2287:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7132, - "indexExpression": { - "argumentTypes": null, - "id": 7131, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7125, - "src": "2296:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2287:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7129, - "id": 7133, - "nodeType": "Return", - "src": "2280:22:23" - } - ] - }, - "documentation": { - "id": 7123, - "nodeType": "StructuredDocumentation", - "src": "1977:214:23", - "text": " @dev Gets the balance of the specified address.\n @param owner The address to query the the balance of.\n @return balance An uint256 representing the amount owned by the passed address." - }, - "functionSelector": "70a08231", - "id": 7135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7125, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7135, - "src": "2215:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2215:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2214:15:23" - }, - "returnParameters": { - "id": 7129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7128, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7135, - "src": "2253:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2252:17:23" - }, - "scope": 7347, - "src": "2196:113:23", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7215, - "nodeType": "Block", - "src": "2712:390:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7148, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2730:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7149, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2740:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7151, - "indexExpression": { - "argumentTypes": null, - "id": 7150, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2749:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2740:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2730:24:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 7153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2756:20:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7147, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2722:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:55:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7155, - "nodeType": "ExpressionStatement", - "src": "2722:55:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7157, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2795:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7158, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2805:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7160, - "indexExpression": { - "argumentTypes": null, - "id": 7159, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2813:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2805:13:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7163, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7161, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2819:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2819:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2805:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2795:35:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c4c4f57414e43455f4e4f545f454e4f554748", - "id": 7165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2832:22:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - }, - "value": "ALLOWANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - } - ], - "id": 7156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2787:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2787:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7167, - "nodeType": "ExpressionStatement", - "src": "2787:68:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7168, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2866:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7170, - "indexExpression": { - "argumentTypes": null, - "id": 7169, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2875:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2866:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7175, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2902:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7171, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2883:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7173, - "indexExpression": { - "argumentTypes": null, - "id": 7172, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2892:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2883:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2883:18:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2883:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2866:43:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7178, - "nodeType": "ExpressionStatement", - "src": "2866:43:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7179, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2919:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7181, - "indexExpression": { - "argumentTypes": null, - "id": 7180, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "2928:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2919:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7186, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2951:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7182, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2934:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7184, - "indexExpression": { - "argumentTypes": null, - "id": 7183, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "2943:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2934:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2934:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2934:24:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2919:39:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7189, - "nodeType": "ExpressionStatement", - "src": "2919:39:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7190, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2968:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7194, - "indexExpression": { - "argumentTypes": null, - "id": 7191, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2976:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2968:13:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7195, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7192, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2982:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2982:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2968:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7203, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "3026:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7196, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2996:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7198, - "indexExpression": { - "argumentTypes": null, - "id": 7197, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "3004:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2996:13:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7201, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7199, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3010:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3010:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2996:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2996:29:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2996:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2968:65:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7206, - "nodeType": "ExpressionStatement", - "src": "2968:65:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7208, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "3057:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7209, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "3063:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7210, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "3067:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7207, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "3048:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3048:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7212, - "nodeType": "EmitStatement", - "src": "3043:31:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3091:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7146, - "id": 7214, - "nodeType": "Return", - "src": "3084:11:23" - } - ] - }, - "documentation": { - "id": 7136, - "nodeType": "StructuredDocumentation", - "src": "2315:276:23", - "text": " @dev Transfer tokens from one address to another\n @param from address The address which you want to send tokens from\n @param to address The address which you want to transfer to\n @param amount uint256 the amount of tokens to be transferred" - }, - "functionSelector": "23b872dd", - "id": 7216, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7138, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2627:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2627:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7140, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2649:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2649:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7142, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2669:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2669:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2617:72:23" - }, - "returnParameters": { - "id": 7146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7145, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2706:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7144, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2706:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2705:6:23" - }, - "scope": 7347, - "src": "2596:506:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7244, - "nodeType": "Block", - "src": "3417:127:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7226, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "3427:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7230, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3435:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3435:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3427:19:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7231, - "indexExpression": { - "argumentTypes": null, - "id": 7229, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7219, - "src": "3447:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3427:28:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7232, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7221, - "src": "3458:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3427:37:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7234, - "nodeType": "ExpressionStatement", - "src": "3427:37:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3488:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3488:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7238, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7219, - "src": "3500:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7239, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7221, - "src": "3509:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7235, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3479:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3479:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7241, - "nodeType": "EmitStatement", - "src": "3474:42:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3533:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7225, - "id": 7243, - "nodeType": "Return", - "src": "3526:11:23" - } - ] - }, - "documentation": { - "id": 7217, - "nodeType": "StructuredDocumentation", - "src": "3108:232:23", - "text": " @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n @param spender The address which will spend the funds.\n @param amount The amount of tokens to be spent." - }, - "functionSelector": "095ea7b3", - "id": 7245, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7219, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7245, - "src": "3362:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3362:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7221, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7245, - "src": "3379:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3379:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3361:33:23" - }, - "returnParameters": { - "id": 7225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7224, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7245, - "src": "3411:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7223, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3411:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3410:6:23" - }, - "scope": 7347, - "src": "3345:199:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7261, - "nodeType": "Block", - "src": "3956:47:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7255, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "3973:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7257, - "indexExpression": { - "argumentTypes": null, - "id": 7256, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "3981:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3973:14:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7259, - "indexExpression": { - "argumentTypes": null, - "id": 7258, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "3988:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3973:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7254, - "id": 7260, - "nodeType": "Return", - "src": "3966:30:23" - } - ] - }, - "documentation": { - "id": 7246, - "nodeType": "StructuredDocumentation", - "src": "3550:320:23", - "text": " @dev Function to check the amount of tokens that an owner allowed to a spender.\n @param owner address The address which owns the funds.\n @param spender address The address which will spend the funds.\n @return A uint256 specifying the amount of tokens still available for the spender." - }, - "functionSelector": "dd62ed3e", - "id": 7262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7248, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7262, - "src": "3894:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7247, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3894:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7250, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7262, - "src": "3909:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3909:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3893:32:23" - }, - "returnParameters": { - "id": 7254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7253, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7262, - "src": "3947:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3946:9:23" - }, - "scope": 7347, - "src": "3875:128:23", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7303, - "nodeType": "Block", - "src": "4071:185:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7271, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4081:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7273, - "indexExpression": { - "argumentTypes": null, - "id": 7272, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4090:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4081:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7278, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4117:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7274, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4098:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7276, - "indexExpression": { - "argumentTypes": null, - "id": 7275, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4107:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4098:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4098:18:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4098:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4081:42:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7281, - "nodeType": "ExpressionStatement", - "src": "4081:42:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7282, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4133:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7285, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4163:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7283, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4147:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4147:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4147:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4133:36:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7288, - "nodeType": "ExpressionStatement", - "src": "4133:36:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7290, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4189:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7291, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4195:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7289, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "4184:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4184:17:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7293, - "nodeType": "EmitStatement", - "src": "4179:22:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4233:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4225:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4225:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4225:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7299, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4237:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4243:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7294, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "4216:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4216:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7302, - "nodeType": "EmitStatement", - "src": "4211:38:23" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 7304, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7269, - "modifierName": { - "argumentTypes": null, - "id": 7268, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4061:9:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4061:9:23" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7264, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7304, - "src": "4023:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4023:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7266, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7304, - "src": "4037:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4037:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4022:29:23" - }, - "returnParameters": { - "id": 7270, - "nodeType": "ParameterList", - "parameters": [], - "src": "4071:0:23" - }, - "scope": 7347, - "src": "4009:247:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7345, - "nodeType": "Block", - "src": "4324:185:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7313, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4334:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7315, - "indexExpression": { - "argumentTypes": null, - "id": 7314, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4343:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4334:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7320, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4370:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7316, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4351:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7318, - "indexExpression": { - "argumentTypes": null, - "id": 7317, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4360:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4351:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4351:18:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4351:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4334:42:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7323, - "nodeType": "ExpressionStatement", - "src": "4334:42:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7324, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4386:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4416:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7325, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4400:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4400:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4400:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4386:36:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7330, - "nodeType": "ExpressionStatement", - "src": "4386:36:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7332, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4442:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7333, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4448:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7331, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "4437:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4437:17:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7335, - "nodeType": "EmitStatement", - "src": "4432:22:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7337, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4478:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4492:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4484:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4484:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4484:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7342, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4496:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7336, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "4469:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4469:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7344, - "nodeType": "EmitStatement", - "src": "4464:38:23" - } - ] - }, - "documentation": null, - "functionSelector": "9dc29fac", - "id": 7346, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7311, - "modifierName": { - "argumentTypes": null, - "id": 7310, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4314:9:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4314:9:23" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7306, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7346, - "src": "4276:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4276:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7308, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7346, - "src": "4290:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4290:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4275:29:23" - }, - "returnParameters": { - "id": 7312, - "nodeType": "ParameterList", - "parameters": [], - "src": "4324:0:23" - }, - "scope": 7347, - "src": "4262:247:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7348, - "src": "426:4085:23" - } - ], - "src": "78:4434:23" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol", - "exportedSymbols": { - "DODOLpToken": [ - 7347 - ] - }, - "id": 7348, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6965, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:23" - }, - { - "id": 6966, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:23" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 6968, - "nodeType": "ImportDirective", - "scope": 7348, - "sourceUnit": 10608, - "src": "136:42:23", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6967, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:6:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 6970, - "nodeType": "ImportDirective", - "scope": 7348, - "sourceUnit": 11624, - "src": "179:45:23", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6969, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "187:8:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 6972, - "nodeType": "ImportDirective", - "scope": 7348, - "sourceUnit": 11272, - "src": "225:43:23", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 6971, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "233:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6974, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "450:7:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 6975, - "nodeType": "InheritanceSpecifier", - "src": "450:7:23" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": { - "id": 6973, - "nodeType": "StructuredDocumentation", - "src": "270:155:23", - "text": " @title DODOLpToken\n @author DODO Breeder\n @notice Tokenize liquidity pool assets. An ordinary ERC20 contract with mint and burn functions" - }, - "fullyImplemented": true, - "id": 7347, - "linearizedBaseContracts": [ - 7347, - 11271 - ], - "name": "DODOLpToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6978, - "libraryName": { - "contractScope": null, - "id": 6976, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "470:8:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "464:27:23", - "typeName": { - "id": 6977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 6981, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "497:28:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6979, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "497:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "444c50", - "id": 6980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "520:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ad4ac2ef6228a2adb212e98f01d891da2027029dcf86bc341ca6cc047d65e8a7", - "typeString": "literal_string \"DLP\"" - }, - "value": "DLP" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "13096a41", - "id": 6983, - "mutability": "mutable", - "name": "originToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "531:26:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "531:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 6985, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "564:26:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "564:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6989, - "mutability": "mutable", - "name": "balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "596:45:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6988, - "keyType": { - "id": 6986, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "604:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "596:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "615:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6995, - "mutability": "mutable", - "name": "allowed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7347, - "src": "647:64:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 6994, - "keyType": { - "id": 6990, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "655:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "647:47:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 6993, - "keyType": { - "id": 6991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "674:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "666:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "685:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 7003, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 7002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6997, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7003, - "src": "774:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "774:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6999, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7003, - "src": "796:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "796:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7001, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7003, - "src": "816:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "816:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "773:58:23" - }, - "src": "759:73:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 7011, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 7010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7005, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7011, - "src": "853:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7004, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "853:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7007, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7011, - "src": "876:23:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "876:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7009, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7011, - "src": "901:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "901:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "852:64:23" - }, - "src": "838:79:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 7017, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 7016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7013, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7017, - "src": "934:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7015, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7017, - "src": "956:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "956:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "933:37:23" - }, - "src": "923:48:23" - }, - { - "anonymous": false, - "documentation": null, - "id": 7023, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 7022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7019, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7023, - "src": "988:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "988:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7021, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7023, - "src": "1010:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1010:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "987:37:23" - }, - "src": "977:48:23" - }, - { - "body": { - "id": 7032, - "nodeType": "Block", - "src": "1116:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7028, - "name": "originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "1126:11:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7029, - "name": "_originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7025, - "src": "1140:12:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1126:26:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7031, - "nodeType": "ExpressionStatement", - "src": "1126:26:23" - } - ] - }, - "documentation": null, - "id": 7033, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7025, - "mutability": "mutable", - "name": "_originToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "1087:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1087:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1086:22:23" - }, - "returnParameters": { - "id": 7027, - "nodeType": "ParameterList", - "parameters": [], - "src": "1116:0:23" - }, - "scope": 7347, - "src": "1075:84:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7055, - "nodeType": "Block", - "src": "1217:148:23", - "statements": [ - { - "assignments": [ - 7039 - ], - "declarations": [ - { - "constant": false, - "id": 7039, - "mutability": "mutable", - "name": "lpTokenSuffix", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7055, - "src": "1227:27:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7038, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1227:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7041, - "initialValue": { - "argumentTypes": null, - "hexValue": "5f444f444f5f4c505f544f4b454e5f", - "id": 7040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1257:17:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fd33f461926c288e22976ed16405c386e401ae2dabde8aeb3b67fd7ee18035e7", - "typeString": "literal_string \"_DODO_LP_TOKEN_\"" - }, - "value": "_DODO_LP_TOKEN_" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1227:47:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7047, - "name": "originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "1322:11:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7046, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1315:6:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 7048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1315:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 7049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 10556, - "src": "1315:24:23", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view external returns (string memory)" - } - }, - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1315:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 7051, - "name": "lpTokenSuffix", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "1343:13:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 7044, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1298:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1298:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1298:59:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1291:6:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 7042, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1291:6:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1291:67:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 7037, - "id": 7054, - "nodeType": "Return", - "src": "1284:74:23" - } - ] - }, - "documentation": null, - "functionSelector": "06fdde03", - "id": 7056, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7034, - "nodeType": "ParameterList", - "parameters": [], - "src": "1178:2:23" - }, - "returnParameters": { - "id": 7037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7036, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7056, - "src": "1202:13:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7035, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1202:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1201:15:23" - }, - "scope": 7347, - "src": "1165:200:23", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7067, - "nodeType": "Block", - "src": "1419:54:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7062, - "name": "originToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "1443:11:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7061, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1436:6:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 7063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1436:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 7064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 10551, - "src": "1436:28:23", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 7065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1436:30:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7060, - "id": 7066, - "nodeType": "Return", - "src": "1429:37:23" - } - ] - }, - "documentation": null, - "functionSelector": "313ce567", - "id": 7068, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7057, - "nodeType": "ParameterList", - "parameters": [], - "src": "1388:2:23" - }, - "returnParameters": { - "id": 7060, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7059, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7068, - "src": "1412:5:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7058, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1412:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1411:7:23" - }, - "scope": 7347, - "src": "1371:102:23", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7121, - "nodeType": "Block", - "src": "1710:261:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7079, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1728:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7080, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1738:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7083, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1747:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1747:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1738:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1728:30:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 7085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1760:20:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7078, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1720:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:61:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7087, - "nodeType": "ExpressionStatement", - "src": "1720:61:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7088, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1792:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7091, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7089, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1801:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1801:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1792:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7097, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1840:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7092, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1815:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7095, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7093, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1824:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1824:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1815:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1815:24:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1815:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1792:55:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7100, - "nodeType": "ExpressionStatement", - "src": "1792:55:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7101, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1857:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7103, - "indexExpression": { - "argumentTypes": null, - "id": 7102, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "1866:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1857:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7108, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1889:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7104, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "1872:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7106, - "indexExpression": { - "argumentTypes": null, - "id": 7105, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "1881:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1872:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1872:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1872:24:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1857:39:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7111, - "nodeType": "ExpressionStatement", - "src": "1857:39:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7113, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1920:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1920:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7115, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "1932:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7116, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "1936:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7112, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "1911:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1911:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7118, - "nodeType": "EmitStatement", - "src": "1906:37:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1960:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7077, - "id": 7120, - "nodeType": "Return", - "src": "1953:11:23" - } - ] - }, - "documentation": { - "id": 7069, - "nodeType": "StructuredDocumentation", - "src": "1479:158:23", - "text": " @dev transfer token for a specified address\n @param to The address to transfer to.\n @param amount The amount to be transferred." - }, - "functionSelector": "a9059cbb", - "id": 7122, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7071, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7122, - "src": "1660:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7070, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1660:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7073, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7122, - "src": "1672:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1672:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1659:28:23" - }, - "returnParameters": { - "id": 7077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7076, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7122, - "src": "1704:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7075, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1704:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1703:6:23" - }, - "scope": 7347, - "src": "1642:329:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7134, - "nodeType": "Block", - "src": "2270:39:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7130, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2287:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7132, - "indexExpression": { - "argumentTypes": null, - "id": 7131, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7125, - "src": "2296:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2287:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7129, - "id": 7133, - "nodeType": "Return", - "src": "2280:22:23" - } - ] - }, - "documentation": { - "id": 7123, - "nodeType": "StructuredDocumentation", - "src": "1977:214:23", - "text": " @dev Gets the balance of the specified address.\n @param owner The address to query the the balance of.\n @return balance An uint256 representing the amount owned by the passed address." - }, - "functionSelector": "70a08231", - "id": 7135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7125, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7135, - "src": "2215:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2215:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2214:15:23" - }, - "returnParameters": { - "id": 7129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7128, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7135, - "src": "2253:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2252:17:23" - }, - "scope": 7347, - "src": "2196:113:23", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7215, - "nodeType": "Block", - "src": "2712:390:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7148, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2730:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7149, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2740:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7151, - "indexExpression": { - "argumentTypes": null, - "id": 7150, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2749:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2740:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2730:24:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 7153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2756:20:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7147, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2722:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:55:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7155, - "nodeType": "ExpressionStatement", - "src": "2722:55:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7157, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2795:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7158, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2805:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7160, - "indexExpression": { - "argumentTypes": null, - "id": 7159, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2813:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2805:13:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7163, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7161, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2819:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2819:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2805:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2795:35:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c4c4f57414e43455f4e4f545f454e4f554748", - "id": 7165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2832:22:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - }, - "value": "ALLOWANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - } - ], - "id": 7156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2787:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2787:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7167, - "nodeType": "ExpressionStatement", - "src": "2787:68:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7168, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2866:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7170, - "indexExpression": { - "argumentTypes": null, - "id": 7169, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2875:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2866:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7175, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2902:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7171, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2883:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7173, - "indexExpression": { - "argumentTypes": null, - "id": 7172, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2892:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2883:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2883:18:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2883:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2866:43:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7178, - "nodeType": "ExpressionStatement", - "src": "2866:43:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7179, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2919:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7181, - "indexExpression": { - "argumentTypes": null, - "id": 7180, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "2928:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2919:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7186, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "2951:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7182, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "2934:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7184, - "indexExpression": { - "argumentTypes": null, - "id": 7183, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "2943:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2934:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2934:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2934:24:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2919:39:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7189, - "nodeType": "ExpressionStatement", - "src": "2919:39:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7190, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2968:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7194, - "indexExpression": { - "argumentTypes": null, - "id": 7191, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "2976:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2968:13:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7195, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7192, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2982:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2982:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2968:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7203, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "3026:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7196, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2996:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7198, - "indexExpression": { - "argumentTypes": null, - "id": 7197, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "3004:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2996:13:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7201, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7199, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3010:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3010:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2996:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2996:29:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2996:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2968:65:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7206, - "nodeType": "ExpressionStatement", - "src": "2968:65:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7208, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "3057:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7209, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "3063:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7210, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "3067:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7207, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "3048:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3048:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7212, - "nodeType": "EmitStatement", - "src": "3043:31:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3091:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7146, - "id": 7214, - "nodeType": "Return", - "src": "3084:11:23" - } - ] - }, - "documentation": { - "id": 7136, - "nodeType": "StructuredDocumentation", - "src": "2315:276:23", - "text": " @dev Transfer tokens from one address to another\n @param from address The address which you want to send tokens from\n @param to address The address which you want to transfer to\n @param amount uint256 the amount of tokens to be transferred" - }, - "functionSelector": "23b872dd", - "id": 7216, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7138, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2627:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2627:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7140, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2649:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2649:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7142, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2669:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2669:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2617:72:23" - }, - "returnParameters": { - "id": 7146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7145, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7216, - "src": "2706:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7144, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2706:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2705:6:23" - }, - "scope": 7347, - "src": "2596:506:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7244, - "nodeType": "Block", - "src": "3417:127:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7226, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "3427:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7230, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3435:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3435:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3427:19:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7231, - "indexExpression": { - "argumentTypes": null, - "id": 7229, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7219, - "src": "3447:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3427:28:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7232, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7221, - "src": "3458:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3427:37:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7234, - "nodeType": "ExpressionStatement", - "src": "3427:37:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3488:3:23", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3488:10:23", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7238, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7219, - "src": "3500:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7239, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7221, - "src": "3509:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7235, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3479:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3479:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7241, - "nodeType": "EmitStatement", - "src": "3474:42:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3533:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7225, - "id": 7243, - "nodeType": "Return", - "src": "3526:11:23" - } - ] - }, - "documentation": { - "id": 7217, - "nodeType": "StructuredDocumentation", - "src": "3108:232:23", - "text": " @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n @param spender The address which will spend the funds.\n @param amount The amount of tokens to be spent." - }, - "functionSelector": "095ea7b3", - "id": 7245, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7219, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7245, - "src": "3362:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3362:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7221, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7245, - "src": "3379:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3379:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3361:33:23" - }, - "returnParameters": { - "id": 7225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7224, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7245, - "src": "3411:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7223, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3411:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3410:6:23" - }, - "scope": 7347, - "src": "3345:199:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7261, - "nodeType": "Block", - "src": "3956:47:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7255, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "3973:7:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7257, - "indexExpression": { - "argumentTypes": null, - "id": 7256, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "3981:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3973:14:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7259, - "indexExpression": { - "argumentTypes": null, - "id": 7258, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "3988:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3973:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7254, - "id": 7260, - "nodeType": "Return", - "src": "3966:30:23" - } - ] - }, - "documentation": { - "id": 7246, - "nodeType": "StructuredDocumentation", - "src": "3550:320:23", - "text": " @dev Function to check the amount of tokens that an owner allowed to a spender.\n @param owner address The address which owns the funds.\n @param spender address The address which will spend the funds.\n @return A uint256 specifying the amount of tokens still available for the spender." - }, - "functionSelector": "dd62ed3e", - "id": 7262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7248, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7262, - "src": "3894:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7247, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3894:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7250, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7262, - "src": "3909:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3909:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3893:32:23" - }, - "returnParameters": { - "id": 7254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7253, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7262, - "src": "3947:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3947:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3946:9:23" - }, - "scope": 7347, - "src": "3875:128:23", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7303, - "nodeType": "Block", - "src": "4071:185:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7271, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4081:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7273, - "indexExpression": { - "argumentTypes": null, - "id": 7272, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4090:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4081:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7278, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4117:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7274, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4098:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7276, - "indexExpression": { - "argumentTypes": null, - "id": 7275, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4107:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4098:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4098:18:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4098:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4081:42:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7281, - "nodeType": "ExpressionStatement", - "src": "4081:42:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7282, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4133:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7285, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4163:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7283, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4147:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4147:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4147:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4133:36:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7288, - "nodeType": "ExpressionStatement", - "src": "4133:36:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7290, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4189:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7291, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4195:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7289, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "4184:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4184:17:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7293, - "nodeType": "EmitStatement", - "src": "4179:22:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4233:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4225:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4225:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4225:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7299, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7264, - "src": "4237:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7266, - "src": "4243:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7294, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "4216:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4216:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7302, - "nodeType": "EmitStatement", - "src": "4211:38:23" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 7304, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7269, - "modifierName": { - "argumentTypes": null, - "id": 7268, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4061:9:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4061:9:23" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7264, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7304, - "src": "4023:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4023:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7266, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7304, - "src": "4037:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4037:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4022:29:23" - }, - "returnParameters": { - "id": 7270, - "nodeType": "ParameterList", - "parameters": [], - "src": "4071:0:23" - }, - "scope": 7347, - "src": "4009:247:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7345, - "nodeType": "Block", - "src": "4324:185:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7313, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4334:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7315, - "indexExpression": { - "argumentTypes": null, - "id": 7314, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4343:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4334:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7320, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4370:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7316, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6989, - "src": "4351:8:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7318, - "indexExpression": { - "argumentTypes": null, - "id": 7317, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4360:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4351:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4351:18:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4351:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4334:42:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7323, - "nodeType": "ExpressionStatement", - "src": "4334:42:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7324, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4386:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7327, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4416:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7325, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "4400:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4400:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4400:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4386:36:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7330, - "nodeType": "ExpressionStatement", - "src": "4386:36:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7332, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4442:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7333, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4448:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7331, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7023, - "src": "4437:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4437:17:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7335, - "nodeType": "EmitStatement", - "src": "4432:22:23" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7337, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "4478:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4492:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4484:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4484:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4484:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7342, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7308, - "src": "4496:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7336, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7003, - "src": "4469:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4469:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7344, - "nodeType": "EmitStatement", - "src": "4464:38:23" - } - ] - }, - "documentation": null, - "functionSelector": "9dc29fac", - "id": 7346, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7311, - "modifierName": { - "argumentTypes": null, - "id": 7310, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4314:9:23", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4314:9:23" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7306, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7346, - "src": "4276:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4276:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7308, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7346, - "src": "4290:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4290:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4275:29:23" - }, - "returnParameters": { - "id": 7312, - "nodeType": "ParameterList", - "parameters": [], - "src": "4324:0:23" - }, - "scope": 7347, - "src": "4262:247:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7348, - "src": "426:4085:23" - } - ], - "src": "78:4434:23" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.680Z", - "devdoc": { - "author": "DODO Breeder", - "methods": { - "allowance(address,address)": { - "details": "Function to check the amount of tokens that an owner allowed to a spender.", - "params": { - "owner": "address The address which owns the funds.", - "spender": "address The address which will spend the funds." - }, - "returns": { - "_0": "A uint256 specifying the amount of tokens still available for the spender." - } - }, - "approve(address,uint256)": { - "details": "Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.", - "params": { - "amount": "The amount of tokens to be spent.", - "spender": "The address which will spend the funds." - } - }, - "balanceOf(address)": { - "details": "Gets the balance of the specified address.", - "params": { - "owner": "The address to query the the balance of." - }, - "returns": { - "balance": "An uint256 representing the amount owned by the passed address." - } - }, - "transfer(address,uint256)": { - "details": "transfer token for a specified address", - "params": { - "amount": "The amount to be transferred.", - "to": "The address to transfer to." - } - }, - "transferFrom(address,address,uint256)": { - "details": "Transfer tokens from one address to another", - "params": { - "amount": "uint256 the amount of tokens to be transferred", - "from": "address The address which you want to send tokens from", - "to": "address The address which you want to transfer to" - } - } - }, - "title": "DODOLpToken" - }, - "userdoc": { - "methods": {}, - "notice": "Tokenize liquidity pool assets. An ordinary ERC20 contract with mint and burn functions" - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOMath.json b/build-v1/contracts/DODOMath.json deleted file mode 100644 index abd3f68..0000000 --- a/build-v1/contracts/DODOMath.json +++ /dev/null @@ -1,9192 +0,0 @@ -{ - "contractName": "DODOMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DODOMath\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for complex calculating. Including ONE Integration and TWO Quadratic solutions\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":\"DODOMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":{\"keccak256\":\"0xe3f63c53706f21ad68ebeff69321682ffa83bb0552db7e4453dff9772724f657\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64e385f8c3fbe9e485d0b1b0f90f9621bf50fe02ee7cb95a44828a255db3581f\",\"dweb:/ipfs/QmNesw9cspw1fDDumDy1BSrCeGVij1BAfAVXpfajKHGUcn\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204ab0f72f27dc6c0858ee116c73cf432296878159be55cb820fe425a836628a7064736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204ab0f72f27dc6c0858ee116c73cf432296878159be55cb820fe425a836628a7064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "379:3502:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "379:3502:35:-:0;;;;;;;;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"./SafeMath.sol\";\nimport {DecimalMath} from \"./DecimalMath.sol\";\n\n/**\n * @title DODOMath\n * @author DODO Breeder\n *\n * @notice Functions for complex calculating. Including ONE Integration and TWO Quadratic solutions\n */\nlibrary DODOMath {\n using SafeMath for uint256;\n\n /*\n Integrate dodo curve fron V1 to V2\n require V0>=V1>=V2>0\n res = (1-k)i(V1-V2)+ikV0*V0(1/V2-1/V1)\n let V1-V2=delta\n res = i*delta*(1-k+k(V0^2/V1/V2))\n */\n function _GeneralIntegrate(\n uint256 V0,\n uint256 V1,\n uint256 V2,\n uint256 i,\n uint256 k\n ) internal pure returns (uint256) {\n uint256 fairAmount = DecimalMath.mul(i, V1.sub(V2)); // i*delta\n uint256 V0V0V1V2 = DecimalMath.divCeil(V0.mul(V0).div(V1), V2);\n uint256 penalty = DecimalMath.mul(k, V0V0V1V2); // k(V0^2/V1/V2)\n return DecimalMath.mul(fairAmount, DecimalMath.ONE.sub(k).add(penalty));\n }\n\n /*\n The same with integration expression above, we have:\n i*deltaB = (Q2-Q1)*(1-k+kQ0^2/Q1/Q2)\n Given Q1 and deltaB, solve Q2\n This is a quadratic function and the standard version is\n aQ2^2 + bQ2 + c = 0, where\n a=1-k\n -b=(1-k)Q1-kQ0^2/Q1+i*deltaB\n c=-kQ0^2\n and Q2=(-b+sqrt(b^2+4(1-k)kQ0^2))/2(1-k)\n note: another root is negative, abondan\n if deltaBSig=true, then Q2>Q1\n if deltaBSig=false, then Q2= kQ02Q1) {\n b = b.sub(kQ02Q1);\n minusbSig = true;\n } else {\n b = kQ02Q1.sub(b);\n minusbSig = false;\n }\n\n // calculate sqrt\n uint256 squareRoot = DecimalMath.mul(\n DecimalMath.ONE.sub(k).mul(4),\n DecimalMath.mul(k, Q0).mul(Q0)\n ); // 4(1-k)kQ0^2\n squareRoot = b.mul(b).add(squareRoot).sqrt(); // sqrt(b*b+4(1-k)kQ0*Q0)\n\n // final res\n uint256 denominator = DecimalMath.ONE.sub(k).mul(2); // 2(1-k)\n uint256 numerator;\n if (minusbSig) {\n numerator = b.add(squareRoot);\n } else {\n numerator = squareRoot.sub(b);\n }\n\n if (deltaBSig) {\n return DecimalMath.divFloor(numerator, denominator);\n } else {\n return DecimalMath.divCeil(numerator, denominator);\n }\n }\n\n /*\n Start from the integration function\n i*deltaB = (Q2-Q1)*(1-k+kQ0^2/Q1/Q2)\n Assume Q2=Q0, Given Q1 and deltaB, solve Q0\n let fairAmount = i*deltaB\n */\n function _SolveQuadraticFunctionForTarget(\n uint256 V1,\n uint256 k,\n uint256 fairAmount\n ) internal pure returns (uint256 V0) {\n // V0 = V1+V1*(sqrt-1)/2k\n uint256 sqrt = DecimalMath.divCeil(DecimalMath.mul(k, fairAmount).mul(4), V1);\n sqrt = sqrt.add(DecimalMath.ONE).mul(DecimalMath.ONE).sqrt();\n uint256 premium = DecimalMath.divCeil(sqrt.sub(DecimalMath.ONE), k.mul(2));\n // V0 is greater than or equal to V1 according to the solution\n return DecimalMath.mul(V1, DecimalMath.ONE.add(premium));\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "exportedSymbols": { - "DODOMath": [ - 10992 - ] - }, - "id": 10993, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10680, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:35" - }, - { - "id": 10681, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:35" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 10683, - "nodeType": "ImportDirective", - "scope": 10993, - "sourceUnit": 11624, - "src": "136:40:35", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 10682, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:35", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "./DecimalMath.sol", - "id": 10685, - "nodeType": "ImportDirective", - "scope": 10993, - "sourceUnit": 11079, - "src": "177:46:35", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 10684, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "185:11:35", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 10686, - "nodeType": "StructuredDocumentation", - "src": "225:153:35", - "text": " @title DODOMath\n @author DODO Breeder\n @notice Functions for complex calculating. Including ONE Integration and TWO Quadratic solutions" - }, - "fullyImplemented": true, - "id": 10992, - "linearizedBaseContracts": [ - 10992 - ], - "name": "DODOMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 10689, - "libraryName": { - "contractScope": null, - "id": 10687, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "408:8:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "402:27:35", - "typeName": { - "id": 10688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "421:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 10750, - "nodeType": "Block", - "src": "797:305:35", - "statements": [ - { - "assignments": [ - 10705 - ], - "declarations": [ - { - "constant": false, - "id": 10705, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10750, - "src": "807:18:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10714, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10708, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "844:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10711, - "name": "V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10695, - "src": "854:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10709, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10693, - "src": "847:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "847:6:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "847:10:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10706, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "828:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "828:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "828:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "807:51:35" - }, - { - "assignments": [ - 10716 - ], - "declarations": [ - { - "constant": false, - "id": 10716, - "mutability": "mutable", - "name": "V0V0V1V2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10750, - "src": "879:16:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "879:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10728, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10724, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10693, - "src": "933:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10721, - "name": "V0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10691, - "src": "925:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10719, - "name": "V0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10691, - "src": "918:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "918:6:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:10:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "918:14:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:18:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10726, - "name": "V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10695, - "src": "938:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10717, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "898:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "898:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:43:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "879:62:35" - }, - { - "assignments": [ - 10730 - ], - "declarations": [ - { - "constant": false, - "id": 10730, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10750, - "src": "951:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "951:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10736, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10733, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10699, - "src": "985:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10734, - "name": "V0V0V1V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10716, - "src": "988:8:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10731, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "969:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "969:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "969:28:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "951:46:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10739, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10705, - "src": "1047:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10746, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10730, - "src": "1086:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10743, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10699, - "src": "1079:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10740, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1059:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "1059:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1059:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1059:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1059:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1059:35:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10737, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1031:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1031:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1031:64:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10703, - "id": 10749, - "nodeType": "Return", - "src": "1024:71:35" - } - ] - }, - "documentation": null, - "id": 10751, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_GeneralIntegrate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10691, - "mutability": "mutable", - "name": "V0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "670:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10693, - "mutability": "mutable", - "name": "V1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "690:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10695, - "mutability": "mutable", - "name": "V2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "710:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10697, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "730:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "730:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10699, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "749:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "749:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "660:104:35" - }, - "returnParameters": { - "id": 10703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10702, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "788:7:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:9:35" - }, - "scope": 10992, - "src": "634:468:35", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10924, - "nodeType": "Block", - "src": "1795:1320:35", - "statements": [ - { - "assignments": [ - 10767 - ], - "declarations": [ - { - "constant": false, - "id": 10767, - "mutability": "mutable", - "name": "kQ02Q1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "1885:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10766, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1885:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10779, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10777, - "name": "Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "1937:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10774, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "1929:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10770, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "1918:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10771, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "1921:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10768, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1902:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1902:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1902:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1902:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1902:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1902:34:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1902:38:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1885:55:35" - }, - { - "assignments": [ - 10781 - ], - "declarations": [ - { - "constant": false, - "id": 10781, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "1962:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1962:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10791, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10787, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2010:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10784, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1990:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "1990:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1990:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1990:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10789, - "name": "Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "2014:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10782, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1974:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1974:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1974:43:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1962:55:35" - }, - { - "assignments": [ - 10793 - ], - "declarations": [ - { - "constant": false, - "id": 10793, - "mutability": "mutable", - "name": "minusbSig", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2038:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10792, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2038:4:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10795, - "initialValue": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2055:4:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2038:21:35" - }, - { - "condition": { - "argumentTypes": null, - "id": 10796, - "name": "deltaBSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "2073:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10812, - "nodeType": "Block", - "src": "2153:74:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10805, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2167:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10808, - "name": "ideltaB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "2187:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10806, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2176:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2176:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2176:19:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2167:28:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10811, - "nodeType": "ExpressionStatement", - "src": "2167:28:35" - } - ] - }, - "id": 10813, - "nodeType": "IfStatement", - "src": "2069:158:35", - "trueBody": { - "id": 10804, - "nodeType": "Block", - "src": "2084:63:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10797, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2098:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10800, - "name": "ideltaB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "2108:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10798, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2102:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2102:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:14:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2098:18:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10803, - "nodeType": "ExpressionStatement", - "src": "2098:18:35" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10814, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2240:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 10815, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2245:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2240:11:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10840, - "nodeType": "Block", - "src": "2331:73:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10829, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2345:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10832, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2360:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10830, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2349:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2349:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2349:13:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2345:17:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10835, - "nodeType": "ExpressionStatement", - "src": "2345:17:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10836, - "name": "minusbSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10793, - "src": "2376:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2388:5:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2376:17:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10839, - "nodeType": "ExpressionStatement", - "src": "2376:17:35" - } - ] - }, - "id": 10841, - "nodeType": "IfStatement", - "src": "2236:168:35", - "trueBody": { - "id": 10828, - "nodeType": "Block", - "src": "2253:72:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10817, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2267:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10820, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2277:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10818, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2271:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2271:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2271:13:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2267:17:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10823, - "nodeType": "ExpressionStatement", - "src": "2267:17:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10824, - "name": "minusbSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10793, - "src": "2298:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2310:4:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2298:16:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10827, - "nodeType": "ExpressionStatement", - "src": "2298:16:35" - } - ] - } - }, - { - "assignments": [ - 10843 - ], - "declarations": [ - { - "constant": false, - "id": 10843, - "mutability": "mutable", - "name": "squareRoot", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2440:18:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2440:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10863, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 10852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2517:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10849, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2510:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10846, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2490:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2490:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2490:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2490:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2490:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2490:29:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10860, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "2560:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10856, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2549:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10857, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "2552:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10854, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2533:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "2533:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2533:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2533:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2533:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10844, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2461:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "2461:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2461:112:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2440:133:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10864, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2598:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10870, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2624:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10867, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2617:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10865, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2611:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2611:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:8:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2611:12:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:24:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11622, - "src": "2611:29:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:31:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2598:44:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10875, - "nodeType": "ExpressionStatement", - "src": "2598:44:35" - }, - { - "assignments": [ - 10877 - ], - "declarations": [ - { - "constant": false, - "id": 10877, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2700:19:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2700:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10886, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 10884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2749:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10881, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2742:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10878, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2722:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2722:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2722:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2722:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:29:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2700:51:35" - }, - { - "assignments": [ - 10888 - ], - "declarations": [ - { - "constant": false, - "id": 10888, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2771:17:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2771:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10889, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2771:17:35" - }, - { - "condition": { - "argumentTypes": null, - "id": 10890, - "name": "minusbSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10793, - "src": "2802:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10906, - "nodeType": "Block", - "src": "2873:54:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10899, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "2887:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10902, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2914:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10900, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2899:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2899:14:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:17:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2887:29:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10905, - "nodeType": "ExpressionStatement", - "src": "2887:29:35" - } - ] - }, - "id": 10907, - "nodeType": "IfStatement", - "src": "2798:129:35", - "trueBody": { - "id": 10898, - "nodeType": "Block", - "src": "2813:54:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10891, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "2827:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10894, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2845:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10892, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2839:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2839:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2839:17:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2827:29:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10897, - "nodeType": "ExpressionStatement", - "src": "2827:29:35" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 10908, - "name": "deltaBSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "2941:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10922, - "nodeType": "Block", - "src": "3034:75:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10918, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "3075:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10919, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10877, - "src": "3086:11:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10916, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3055:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "3055:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3055:43:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10765, - "id": 10921, - "nodeType": "Return", - "src": "3048:50:35" - } - ] - }, - "id": 10923, - "nodeType": "IfStatement", - "src": "2937:172:35", - "trueBody": { - "id": 10915, - "nodeType": "Block", - "src": "2952:76:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10911, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "2994:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10912, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10877, - "src": "3005:11:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10909, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2973:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "2973:20:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:44:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10765, - "id": 10914, - "nodeType": "Return", - "src": "2966:51:35" - } - ] - } - } - ] - }, - "documentation": null, - "id": 10925, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_SolveQuadraticFunctionForTrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10753, - "mutability": "mutable", - "name": "Q0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1658:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1658:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10755, - "mutability": "mutable", - "name": "Q1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1678:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10757, - "mutability": "mutable", - "name": "ideltaB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1698:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1698:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10759, - "mutability": "mutable", - "name": "deltaBSig", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1723:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10758, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1723:4:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10761, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1747:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1747:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1648:114:35" - }, - "returnParameters": { - "id": 10765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10764, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1786:7:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1786:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1785:9:35" - }, - "scope": 10992, - "src": "1608:1507:35", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10990, - "nodeType": "Block", - "src": "3460:419:35", - "statements": [ - { - "assignments": [ - 10937 - ], - "declarations": [ - { - "constant": false, - "id": 10937, - "mutability": "mutable", - "name": "sqrt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10990, - "src": "3504:12:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3504:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10950, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 10946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10942, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10929, - "src": "3555:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10943, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10931, - "src": "3558:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10940, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3539:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "3539:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3539:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3539:34:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3539:37:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10948, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10927, - "src": "3578:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10938, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3519:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "3519:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3519:62:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3504:77:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10951, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10937, - "src": "3591:4:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10958, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3628:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3628:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10954, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3607:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3607:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10952, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10937, - "src": "3598:4:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3598:8:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:25:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3598:29:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:46:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11622, - "src": "3598:51:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:53:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3591:60:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10964, - "nodeType": "ExpressionStatement", - "src": "3591:60:35" - }, - { - "assignments": [ - 10966 - ], - "declarations": [ - { - "constant": false, - "id": 10966, - "mutability": "mutable", - "name": "premium", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10990, - "src": "3661:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3661:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10979, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10971, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3708:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3708:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10969, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10937, - "src": "3699:4:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3699:8:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3699:25:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 10976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3732:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "expression": { - "argumentTypes": null, - "id": 10974, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10929, - "src": "3726:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3726:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3726:8:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10967, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3679:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "3679:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3679:56:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3661:74:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10982, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10927, - "src": "3839:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10986, - "name": "premium", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10966, - "src": "3863:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10983, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3843:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3843:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3843:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3843:28:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10980, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3823:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "3823:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3823:49:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10935, - "id": 10989, - "nodeType": "Return", - "src": "3816:56:35" - } - ] - }, - "documentation": null, - "id": 10991, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_SolveQuadraticFunctionForTarget", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10927, - "mutability": "mutable", - "name": "V1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3361:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3361:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10929, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3381:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3381:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10931, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3400:18:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3400:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3351:73:35" - }, - "returnParameters": { - "id": 10935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10934, - "mutability": "mutable", - "name": "V0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3448:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3448:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3447:12:35" - }, - "scope": 10992, - "src": "3310:569:35", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10993, - "src": "379:3502:35" - } - ], - "src": "78:3804:35" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "exportedSymbols": { - "DODOMath": [ - 10992 - ] - }, - "id": 10993, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10680, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:35" - }, - { - "id": 10681, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:35" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 10683, - "nodeType": "ImportDirective", - "scope": 10993, - "sourceUnit": 11624, - "src": "136:40:35", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 10682, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:35", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "./DecimalMath.sol", - "id": 10685, - "nodeType": "ImportDirective", - "scope": 10993, - "sourceUnit": 11079, - "src": "177:46:35", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 10684, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "185:11:35", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 10686, - "nodeType": "StructuredDocumentation", - "src": "225:153:35", - "text": " @title DODOMath\n @author DODO Breeder\n @notice Functions for complex calculating. Including ONE Integration and TWO Quadratic solutions" - }, - "fullyImplemented": true, - "id": 10992, - "linearizedBaseContracts": [ - 10992 - ], - "name": "DODOMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 10689, - "libraryName": { - "contractScope": null, - "id": 10687, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "408:8:35", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "402:27:35", - "typeName": { - "id": 10688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "421:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 10750, - "nodeType": "Block", - "src": "797:305:35", - "statements": [ - { - "assignments": [ - 10705 - ], - "declarations": [ - { - "constant": false, - "id": 10705, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10750, - "src": "807:18:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10714, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10708, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "844:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10711, - "name": "V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10695, - "src": "854:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10709, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10693, - "src": "847:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "847:6:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "847:10:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10706, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "828:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "828:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "828:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "807:51:35" - }, - { - "assignments": [ - 10716 - ], - "declarations": [ - { - "constant": false, - "id": 10716, - "mutability": "mutable", - "name": "V0V0V1V2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10750, - "src": "879:16:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "879:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10728, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10724, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10693, - "src": "933:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10721, - "name": "V0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10691, - "src": "925:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10719, - "name": "V0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10691, - "src": "918:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "918:6:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:10:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "918:14:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:18:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10726, - "name": "V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10695, - "src": "938:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10717, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "898:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "898:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:43:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "879:62:35" - }, - { - "assignments": [ - 10730 - ], - "declarations": [ - { - "constant": false, - "id": 10730, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10750, - "src": "951:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "951:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10736, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10733, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10699, - "src": "985:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10734, - "name": "V0V0V1V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10716, - "src": "988:8:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10731, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "969:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "969:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "969:28:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "951:46:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10739, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10705, - "src": "1047:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10746, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10730, - "src": "1086:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10743, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10699, - "src": "1079:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10740, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1059:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "1059:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1059:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1059:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1059:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1059:35:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10737, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1031:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1031:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1031:64:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10703, - "id": 10749, - "nodeType": "Return", - "src": "1024:71:35" - } - ] - }, - "documentation": null, - "id": 10751, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_GeneralIntegrate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10691, - "mutability": "mutable", - "name": "V0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "670:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10693, - "mutability": "mutable", - "name": "V1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "690:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10695, - "mutability": "mutable", - "name": "V2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "710:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10697, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "730:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "730:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10699, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "749:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "749:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "660:104:35" - }, - "returnParameters": { - "id": 10703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10702, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10751, - "src": "788:7:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "788:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:9:35" - }, - "scope": 10992, - "src": "634:468:35", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10924, - "nodeType": "Block", - "src": "1795:1320:35", - "statements": [ - { - "assignments": [ - 10767 - ], - "declarations": [ - { - "constant": false, - "id": 10767, - "mutability": "mutable", - "name": "kQ02Q1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "1885:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10766, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1885:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10779, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10777, - "name": "Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "1937:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10774, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "1929:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10770, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "1918:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10771, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "1921:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10768, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1902:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1902:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1902:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1902:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1902:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1902:34:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1902:38:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1885:55:35" - }, - { - "assignments": [ - 10781 - ], - "declarations": [ - { - "constant": false, - "id": 10781, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "1962:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1962:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10791, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10787, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2010:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10784, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1990:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "1990:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1990:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1990:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10789, - "name": "Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "2014:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10782, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1974:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1974:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1974:43:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1962:55:35" - }, - { - "assignments": [ - 10793 - ], - "declarations": [ - { - "constant": false, - "id": 10793, - "mutability": "mutable", - "name": "minusbSig", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2038:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10792, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2038:4:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10795, - "initialValue": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2055:4:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2038:21:35" - }, - { - "condition": { - "argumentTypes": null, - "id": 10796, - "name": "deltaBSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "2073:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10812, - "nodeType": "Block", - "src": "2153:74:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10805, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2167:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10808, - "name": "ideltaB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "2187:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10806, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2176:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2176:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2176:19:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2167:28:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10811, - "nodeType": "ExpressionStatement", - "src": "2167:28:35" - } - ] - }, - "id": 10813, - "nodeType": "IfStatement", - "src": "2069:158:35", - "trueBody": { - "id": 10804, - "nodeType": "Block", - "src": "2084:63:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10797, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2098:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10800, - "name": "ideltaB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "2108:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10798, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2102:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2102:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:14:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2098:18:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10803, - "nodeType": "ExpressionStatement", - "src": "2098:18:35" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10814, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2240:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 10815, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2245:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2240:11:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10840, - "nodeType": "Block", - "src": "2331:73:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10829, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2345:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10832, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2360:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10830, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2349:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2349:10:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2349:13:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2345:17:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10835, - "nodeType": "ExpressionStatement", - "src": "2345:17:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10836, - "name": "minusbSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10793, - "src": "2376:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2388:5:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2376:17:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10839, - "nodeType": "ExpressionStatement", - "src": "2376:17:35" - } - ] - }, - "id": 10841, - "nodeType": "IfStatement", - "src": "2236:168:35", - "trueBody": { - "id": 10828, - "nodeType": "Block", - "src": "2253:72:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10817, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2267:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10820, - "name": "kQ02Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10767, - "src": "2277:6:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10818, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2271:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2271:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2271:13:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2267:17:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10823, - "nodeType": "ExpressionStatement", - "src": "2267:17:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10824, - "name": "minusbSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10793, - "src": "2298:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2310:4:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2298:16:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10827, - "nodeType": "ExpressionStatement", - "src": "2298:16:35" - } - ] - } - }, - { - "assignments": [ - 10843 - ], - "declarations": [ - { - "constant": false, - "id": 10843, - "mutability": "mutable", - "name": "squareRoot", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2440:18:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2440:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10863, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 10852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2517:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10849, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2510:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10846, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2490:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2490:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2490:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2490:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2490:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2490:29:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10860, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "2560:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10856, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2549:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10857, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10753, - "src": "2552:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10854, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2533:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "2533:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2533:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2533:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2533:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10844, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2461:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "2461:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2461:112:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2440:133:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10864, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2598:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10870, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2624:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10867, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2617:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10865, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2611:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2611:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:8:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2611:12:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:24:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11622, - "src": "2611:29:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:31:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2598:44:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10875, - "nodeType": "ExpressionStatement", - "src": "2598:44:35" - }, - { - "assignments": [ - 10877 - ], - "declarations": [ - { - "constant": false, - "id": 10877, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2700:19:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2700:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10886, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 10884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2749:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10881, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10761, - "src": "2742:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10878, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2722:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2722:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2722:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:22:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2722:26:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:29:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2700:51:35" - }, - { - "assignments": [ - 10888 - ], - "declarations": [ - { - "constant": false, - "id": 10888, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10924, - "src": "2771:17:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2771:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10889, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2771:17:35" - }, - { - "condition": { - "argumentTypes": null, - "id": 10890, - "name": "minusbSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10793, - "src": "2802:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10906, - "nodeType": "Block", - "src": "2873:54:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10899, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "2887:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10902, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2914:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10900, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2899:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2899:14:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:17:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2887:29:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10905, - "nodeType": "ExpressionStatement", - "src": "2887:29:35" - } - ] - }, - "id": 10907, - "nodeType": "IfStatement", - "src": "2798:129:35", - "trueBody": { - "id": 10898, - "nodeType": "Block", - "src": "2813:54:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10891, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "2827:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10894, - "name": "squareRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10843, - "src": "2845:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10892, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10781, - "src": "2839:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2839:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2839:17:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2827:29:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10897, - "nodeType": "ExpressionStatement", - "src": "2827:29:35" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 10908, - "name": "deltaBSig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "2941:9:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10922, - "nodeType": "Block", - "src": "3034:75:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10918, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "3075:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10919, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10877, - "src": "3086:11:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10916, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3055:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "3055:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3055:43:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10765, - "id": 10921, - "nodeType": "Return", - "src": "3048:50:35" - } - ] - }, - "id": 10923, - "nodeType": "IfStatement", - "src": "2937:172:35", - "trueBody": { - "id": 10915, - "nodeType": "Block", - "src": "2952:76:35", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10911, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "2994:9:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10912, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10877, - "src": "3005:11:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10909, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2973:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "2973:20:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:44:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10765, - "id": 10914, - "nodeType": "Return", - "src": "2966:51:35" - } - ] - } - } - ] - }, - "documentation": null, - "id": 10925, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_SolveQuadraticFunctionForTrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10753, - "mutability": "mutable", - "name": "Q0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1658:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1658:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10755, - "mutability": "mutable", - "name": "Q1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1678:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10757, - "mutability": "mutable", - "name": "ideltaB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1698:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1698:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10759, - "mutability": "mutable", - "name": "deltaBSig", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1723:14:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10758, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1723:4:35", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10761, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1747:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1747:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1648:114:35" - }, - "returnParameters": { - "id": 10765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10764, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10925, - "src": "1786:7:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1786:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1785:9:35" - }, - "scope": 10992, - "src": "1608:1507:35", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10990, - "nodeType": "Block", - "src": "3460:419:35", - "statements": [ - { - "assignments": [ - 10937 - ], - "declarations": [ - { - "constant": false, - "id": 10937, - "mutability": "mutable", - "name": "sqrt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10990, - "src": "3504:12:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3504:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10950, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 10946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10942, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10929, - "src": "3555:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10943, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10931, - "src": "3558:10:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10940, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3539:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "3539:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3539:30:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3539:34:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3539:37:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10948, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10927, - "src": "3578:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10938, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3519:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "3519:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3519:62:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3504:77:35" - }, - { - "expression": { - "argumentTypes": null, - "id": 10963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10951, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10937, - "src": "3591:4:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10958, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3628:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3628:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10954, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3607:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3607:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10952, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10937, - "src": "3598:4:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3598:8:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:25:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3598:29:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:46:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11622, - "src": "3598:51:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:53:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3591:60:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10964, - "nodeType": "ExpressionStatement", - "src": "3591:60:35" - }, - { - "assignments": [ - 10966 - ], - "declarations": [ - { - "constant": false, - "id": 10966, - "mutability": "mutable", - "name": "premium", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10990, - "src": "3661:15:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3661:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10979, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10971, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3708:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3708:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10969, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10937, - "src": "3699:4:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3699:8:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3699:25:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 10976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3732:1:35", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "expression": { - "argumentTypes": null, - "id": 10974, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10929, - "src": "3726:1:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3726:5:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3726:8:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10967, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3679:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11077, - "src": "3679:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3679:56:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3661:74:35" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10982, - "name": "V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10927, - "src": "3839:2:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10986, - "name": "premium", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10966, - "src": "3863:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10983, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3843:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "3843:15:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3843:19:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3843:28:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10980, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3823:11:35", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "3823:15:35", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3823:49:35", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10935, - "id": 10989, - "nodeType": "Return", - "src": "3816:56:35" - } - ] - }, - "documentation": null, - "id": 10991, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_SolveQuadraticFunctionForTarget", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10927, - "mutability": "mutable", - "name": "V1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3361:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3361:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10929, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3381:9:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3381:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10931, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3400:18:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3400:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3351:73:35" - }, - "returnParameters": { - "id": 10935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10934, - "mutability": "mutable", - "name": "V0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10991, - "src": "3448:10:35", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3448:7:35", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3447:12:35" - }, - "scope": 10992, - "src": "3310:569:35", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10993, - "src": "379:3502:35" - } - ], - "src": "78:3804:35" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.715Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "DODOMath" - }, - "userdoc": { - "methods": {}, - "notice": "Functions for complex calculating. Including ONE Integration and TWO Quadratic solutions" - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOMine.json b/build-v1/contracts/DODOMine.json deleted file mode 100644 index 90b31cd..0000000 --- a/build-v1/contracts/DODOMine.json +++ /dev/null @@ -1,33367 +0,0 @@ -{ - "contractName": "DODOMine", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dodoToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_startBlock", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Claim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "pid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "pid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "dodoPerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "dodoRewardVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lpTokenRegistry", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "poolInfos", - "outputs": [ - { - "internalType": "address", - "name": "lpToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "allocPoint", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastRewardBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "accDODOPerShare", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "realizedReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "startBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalAllocPoint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "userInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rewardDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "poolLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - } - ], - "name": "getPid", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getUserLpBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_allocPoint", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_withUpdate", - "type": "bool" - } - ], - "name": "addLpToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_allocPoint", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_withUpdate", - "type": "bool" - } - ], - "name": "setLpToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dodoPerBlock", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_withUpdate", - "type": "bool" - } - ], - "name": "setReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getAllPendingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getRealizedReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - } - ], - "name": "getDlpMiningSpeed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "massUpdatePools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "updatePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - } - ], - "name": "withdrawAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - } - ], - "name": "emergencyWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - } - ], - "name": "claim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_startBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"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\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_allocPoint\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_withUpdate\",\"type\":\"bool\"}],\"name\":\"addLpToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dodoPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dodoRewardVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"}],\"name\":\"emergencyWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getAllPendingReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"}],\"name\":\"getDlpMiningSpeed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getPendingReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"}],\"name\":\"getPid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRealizedReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserLpBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"lpTokenRegistry\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"massUpdatePools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"poolInfos\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allocPoint\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastRewardBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accDODOPerShare\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"realizedReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_allocPoint\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_withUpdate\",\"type\":\"bool\"}],\"name\":\"setLpToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_dodoPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_withUpdate\",\"type\":\"bool\"}],\"name\":\"setReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAllocPoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"updatePool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardDebt\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"}],\"name\":\"withdrawAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMine.sol\":\"DODOMine\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMine.sol\":{\"keccak256\":\"0xe69f8a8d3502ccfad68bc471275589c5c90934779027f009cb27a93ec3fcc63f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dbbe3ed4d02ddb293f94ea6f788739e4c133f5aef03f2c9f038095ffd34e0b0f\",\"dweb:/ipfs/QmTw7PM5ZRh1gBek11WDmCrpvUwge2nrHjxZZkdjmtSvzu\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol\":{\"keccak256\":\"0x9a1ad5dfb8c36b3750f7c3c9aef091e63bad36e2145355eb212d67988914dc1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e8ad414d377a1860b064193e015ca67187da4a47c9e925123cef4c9a6cd3448b\",\"dweb:/ipfs/QmS7Po2mSdB7Bk784Zcsxx7HFwJ17WXqKv3FuDGxH5aCFY\"]}},\"version\":1}", - "bytecode": "0x608060405260006008553480156200001657600080fd5b506040516200222f3803806200222f8339810160408190526200003991620000f3565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3816040516200009190620000e5565b6200009d91906200012d565b604051809103906000f080158015620000ba573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03929092169190911790556009555062000141565b6106868062001ba983390190565b6000806040838503121562000106578182fd5b82516001600160a01b03811681146200011d578283fd5b6020939093015192949293505050565b6001600160a01b0391909116815260200190565b611a5880620001516000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636ff1c9bc11610104578063d1058e59116100a2578063f3fef3a311610071578063f3fef3a3146103a2578063fa09e630146103b5578063fb7276f4146103c8578063fe0f3a13146103db576101da565b8063d1058e5914610361578063ec83a76a14610369578063f146b8091461037c578063f2fde38b1461038f576101da565b80638af70336116100de5780638af703361461031d57806393f1a40b146103255780639599af1314610346578063bea006e01461034e576101da565b80636ff1c9bc146102ef5780637f10179f146103025780638456db1514610315576101da565b806343b55f351161017c57806351eb05a61161014b57806351eb05a61461029e578063630b5ba1146102b1578063689d84e4146102b95780636dc2cc8c146102dc576101da565b806343b55f351461026857806347e7ef241461027b57806348cd4cb11461028e5780634e71e0c814610296576101da565b806319a78f55116101b857806319a78f551461021a5780631e83409a1461022d57806334ea5389146102425780633d16433e14610255576101da565b8063081e3eda146101df57806316048bc4146101fd57806317caf6f114610212575b600080fd5b6101e76103ee565b6040516101f491906119fd565b60405180910390f35b6102056103f4565b6040516101f4919061177e565b6101e7610403565b6101e76102283660046115fd565b610409565b61024061023b3660046115e2565b610442565b005b61024061025036600461165b565b610532565b6101e76102633660046115e2565b6105f2565b6101e76102763660046115e2565b610604565b610240610289366004611631565b61065c565b6101e7610763565b610240610769565b6102406102ac3660046116c3565b6107f7565b610240610931565b6102cc6102c73660046116c3565b610954565b6040516101f494939291906117cf565b6101e76102ea3660046115e2565b610995565b6102406102fd3660046115e2565b6109b0565b610240610310366004611716565b610a27565b610205610a65565b6101e7610a74565b6103386103333660046116f3565b610a7a565b6040516101f4929190611a06565b610205610a9e565b61024061035c36600461165b565b610aad565b610240610c50565b6101e76103773660046115e2565b610d46565b6101e761038a3660046115e2565b610d58565b61024061039d3660046115e2565b610f25565b6102406103b0366004611631565b610fd0565b6102406103c33660046115e2565b6110f5565b6101e76103d63660046115e2565b61110d565b6101e76103e93660046115fd565b611161565b60045490565b6000546001600160a01b031681565b60085481565b60008061041584610604565b60009081526006602090815260408083206001600160a01b03871684529091529020549150505b92915050565b600061044d82610604565b6000818152600660209081526040808320338452909152902054909150158061049457506004818154811061047e57fe5b9060005260206000209060040201600101546000145b1561049f575061052f565b6000600482815481106104ae57fe5b600091825260208083208584526006825260408085203386529092529220600490910290910191506104df836107f7565b600061050782600101546104fb846000015486600301546112ac565b9063ffffffff6112d616565b905061051b826000015484600301546112ac565b600183015561052a33826112fe565b505050505b50565b6000546001600160a01b031633146105655760405162461bcd60e51b815260040161055c906118ee565b60405180910390fd5b801561057357610573610931565b600061057e84610604565b90506105c3836105b76004848154811061059457fe5b9060005260206000209060040201600101546008546112d690919063ffffffff16565b9063ffffffff6113e416565b60088190555082600482815481106105d757fe5b90600052602060002090600402016001018190555050505050565b60056020526000908152604090205481565b6001600160a01b038116600090815260056020526040812054829061063b5760405162461bcd60e51b815260040161055c90611911565b50506001600160a01b03166000908152600560205260409020546000190190565b600061066783610604565b905060006004828154811061067857fe5b600091825260208083208584526006825260408085203386529092529220600490910290910191506106a9836107f7565b8054156106da5760006106cc82600101546104fb846000015486600301546112ac565b90506106d833826112fe565b505b81546106f7906001600160a01b031633308763ffffffff61141016565b8054610709908563ffffffff6113e416565b808255600383015461071b91906112ac565b6001820155604051839033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15906107549088906119fd565b60405180910390a35050505050565b60095481565b6001546001600160a01b031633146107935760405162461bcd60e51b815260040161055c906117f5565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006004828154811061080657fe5b9060005260206000209060040201905080600201544311610827575061052f565b80546040516370a0823160e01b81526000916001600160a01b0316906370a082319061085790309060040161177e565b60206040518083038186803b15801561086f57600080fd5b505afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a791906116db565b9050806108bb57504360029091015561052f565b60006109006008546108f485600101546108e86003546108e88960020154436112d690919063ffffffff16565b9063ffffffff61146e16565b9063ffffffff6114a816565b905061092061090f82846114d2565b60038501549063ffffffff6113e416565b600384015550504360029091015550565b60045460005b8181101561095057610948816107f7565b600101610937565b5050565b6004818154811061096157fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b6001600160a01b031660009081526007602052604090205490565b60006109bb82610604565b90506000600482815481106109cc57fe5b60009182526020808320858452600682526040808520338087529352909320805460049093029093018054909450610a17926001600160a01b0391909116919063ffffffff6114f016565b6000808255600190910155505050565b6000546001600160a01b03163314610a515760405162461bcd60e51b815260040161055c906118ee565b8015610a5f57610a5f610931565b50600355565b6001546001600160a01b031681565b60035481565b60066020908152600092835260408084209091529082529020805460019091015482565b6002546001600160a01b031681565b6001600160a01b038316600090815260056020526040902054839015610ae55760405162461bcd60e51b815260040161055c906119aa565b6000546001600160a01b03163314610b0f5760405162461bcd60e51b815260040161055c906118ee565b8115610b1d57610b1d610931565b60006009544311610b3057600954610b32565b435b600854909150610b48908563ffffffff6113e416565b600855604080516080810182526001600160a01b0396871680825260208083019788528284019485526000606084018181526004805460018101825581845295517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b96820296870180546001600160a01b03191691909d1617909b5598517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c85015594517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d84015596517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e909201919091559554958252600590945292909220929092555050565b6004546000805b82811015610d3b5760008181526006602090815260408083203384529091529020541580610ca3575060048181548110610c8d57fe5b9060005260206000209060040201600101546000145b15610cad57610d33565b600060048281548110610cbc57fe5b60009182526020808320858452600682526040808520338652909252922060049091029091019150610ced836107f7565b610d17610d0a82600101546104fb846000015486600301546112ac565b859063ffffffff6113e416565b9350610d2b816000015483600301546112ac565b600190910155505b600101610c57565b5061095033826112fe565b60076020526000908152604090205481565b60045460009081805b82811015610f1d5760008181526006602090815260408083206001600160a01b03891684529091529020541580610db6575060048181548110610da057fe5b9060005260206000209060040201600101546000145b15610dc057610f15565b600060048281548110610dcf57fe5b600091825260208083208584526006825260408085206001600160a01b038c81168752935280852060049485029092016003810154815492516370a0823160e01b815291975092959294929391909116916370a0823191610e329130910161177e565b60206040518083038186803b158015610e4a57600080fd5b505afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8291906116db565b9050836002015443118015610e9657508015155b15610ee8576000610ec86008546108f487600101546108e86003546108e88b60020154436112d690919063ffffffff16565b9050610ee4610ed782846114d2565b849063ffffffff6113e416565b9250505b610f0e610f0184600101546104fb8660000154866112ac565b879063ffffffff6113e416565b9550505050505b600101610d61565b509392505050565b6000546001600160a01b03163314610f4f5760405162461bcd60e51b815260040161055c906118ee565b6001600160a01b038116610f755760405162461bcd60e51b815260040161055c9061189c565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610fdb83610604565b9050600060048281548110610fec57fe5b6000918252602080832085845260068252604080852033865290925292208054600490920290920192508411156110355760405162461bcd60e51b815260040161055c906118c3565b61103e836107f7565b600061105a82600101546104fb846000015486600301546112ac565b905061106633826112fe565b8154611078908663ffffffff6112d616565b808355600384015461108a91906112ac565b600183015582546110ab906001600160a01b0316338763ffffffff6114f016565b83336001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568876040516110e591906119fd565b60405180910390a3505050505050565b60006111018233610409565b90506109508282610fd0565b60008061111983610604565b905060006004828154811061112a57fe5b906000526020600020906004020190506111596008546108f4836001015460035461146e90919063ffffffff16565b949350505050565b60008061116d84610604565b905060006004828154811061117e57fe5b600091825260208083208584526006825260408085206001600160a01b038a81168752935280852060049485029092016003810154815492516370a0823160e01b815291975092959294929391909116916370a08231916111e19130910161177e565b60206040518083038186803b1580156111f957600080fd5b505afa15801561120d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123191906116db565b905083600201544311801561124557508015155b1561128a5760006112776008546108f487600101546108e86003546108e88b60020154436112d690919063ffffffff16565b9050611286610ed782846114d2565b9250505b6112a083600101546104fb8560000154856112ac565b98975050505050505050565b6000670de0b6b3a76400006112c7848463ffffffff61146e16565b816112ce57fe5b049392505050565b6000828211156112f85760405162461bcd60e51b815260040161055c90611879565b50900390565b6002546040516310b3879160e11b81526001600160a01b03909116906321670f229061133090859085906004016117b6565b600060405180830381600087803b15801561134a57600080fd5b505af115801561135e573d6000803e3d6000fd5b5050506001600160a01b03831660009081526007602052604090205461138b91508263ffffffff6113e416565b6001600160a01b038316600081815260076020526040908190209290925590517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4906113d89084906119fd565b60405180910390a25050565b6000828201838110156114095760405162461bcd60e51b815260040161055c9061193d565b9392505050565b611468846323b872dd60e01b85858560405160240161143193929190611792565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611514565b50505050565b60008261147d5750600061043c565b8282028284828161148a57fe5b04146114095760405162461bcd60e51b815260040161055c906119da565b60008082116114c95760405162461bcd60e51b815260040161055c90611851565b8183816112ce57fe5b6000611409826108f485670de0b6b3a764000063ffffffff61146e16565b61150f8363a9059cbb60e01b84846040516024016114319291906117b6565b505050565b60006060836001600160a01b0316836040516115309190611745565b6000604051808303816000865af19150503d806000811461156d576040519150601f19603f3d011682016040523d82523d6000602084013e611572565b606091505b5091509150816115945760405162461bcd60e51b815260040161055c9061181c565b80511561146857808060200190518101906115af91906116a7565b6114685760405162461bcd60e51b815260040161055c90611960565b80356001600160a01b038116811461043c57600080fd5b6000602082840312156115f3578081fd5b61140983836115cb565b6000806040838503121561160f578081fd5b61161984846115cb565b915061162884602085016115cb565b90509250929050565b60008060408385031215611643578182fd5b61164d84846115cb565b946020939093013593505050565b60008060006060848603121561166f578081fd5b83356001600160a01b0381168114611685578182fd5b925060208401359150604084013561169c81611a14565b809150509250925092565b6000602082840312156116b8578081fd5b815161140981611a14565b6000602082840312156116d4578081fd5b5035919050565b6000602082840312156116ec578081fd5b5051919050565b60008060408385031215611705578182fd5b8235915061162884602085016115cb565b60008060408385031215611728578182fd5b82359150602083013561173a81611a14565b809150509250929050565b60008251815b81811015611765576020818601810151858301520161174b565b818111156117735782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601190820152700eed2e8d0c8e4c2ee40e8dede40daeac6d607b1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b602080825260129082015271131408151bdad95b88139bdd08115e1a5cdd60721b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b602080825260169082015275131408151bdad95b88105b1c9958591e48115e1a5cdd60521b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b918252602082015260400190565b801515811461052f57600080fdfea26469706673582212201c0c8e894ab1ae2df80078c39f5e6e5357042167766df33f4e7581c8ef0a8a7d64736f6c63430006090033608060405234801561001057600080fd5b5060405161068638038061068683398101604081905261002f9161009d565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b0319166001600160a01b03929092169190911790556100cb565b6000602082840312156100ae578081fd5b81516001600160a01b03811681146100c4578182fd5b9392505050565b6105ac806100da6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806316048bc41461006757806321670f22146100855780634e71e0c81461009a57806375123ff9146100a25780638456db15146100aa578063f2fde38b146100b2575b600080fd5b61006f6100c5565b60405161007c9190610459565b60405180910390f35b6100986100933660046103d6565b6100d4565b005b610098610128565b61006f6101b6565b61006f6101c5565b6100986100c03660046103b4565b6101d4565b6000546001600160a01b031681565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe90610509565b60405180910390fd5b600254610124906001600160a01b0316838363ffffffff61027f16565b5050565b6001546001600160a01b031633146101525760405162461bcd60e51b81526004016100fe90610486565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6000546001600160a01b031633146101fe5760405162461bcd60e51b81526004016100fe90610509565b6001600160a01b0381166102245760405162461bcd60e51b81526004016100fe906104e2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6102d58363a9059cbb60e01b848460405160240161029e92919061046d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526102da565b505050565b60006060836001600160a01b0316836040516102f69190610420565b6000604051808303816000865af19150503d8060008114610333576040519150601f19603f3d011682016040523d82523d6000602084013e610338565b606091505b50915091508161035a5760405162461bcd60e51b81526004016100fe906104ad565b80511561039157808060200190518101906103759190610400565b6103915760405162461bcd60e51b81526004016100fe9061052c565b50505050565b80356001600160a01b03811681146103ae57600080fd5b92915050565b6000602082840312156103c5578081fd5b6103cf8383610397565b9392505050565b600080604083850312156103e8578081fd5b6103f28484610397565b946020939093013593505050565b600060208284031215610411578081fd5b815180151581146103cf578182fd5b60008251815b818110156104405760208186018101518583015201610426565b8181111561044e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b60608201526080019056fea26469706673582212205ad8caf142b7a2c457e73a7f840e61c56c23ddb79da79a892a5d31d7e8a1d28c64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80636ff1c9bc11610104578063d1058e59116100a2578063f3fef3a311610071578063f3fef3a3146103a2578063fa09e630146103b5578063fb7276f4146103c8578063fe0f3a13146103db576101da565b8063d1058e5914610361578063ec83a76a14610369578063f146b8091461037c578063f2fde38b1461038f576101da565b80638af70336116100de5780638af703361461031d57806393f1a40b146103255780639599af1314610346578063bea006e01461034e576101da565b80636ff1c9bc146102ef5780637f10179f146103025780638456db1514610315576101da565b806343b55f351161017c57806351eb05a61161014b57806351eb05a61461029e578063630b5ba1146102b1578063689d84e4146102b95780636dc2cc8c146102dc576101da565b806343b55f351461026857806347e7ef241461027b57806348cd4cb11461028e5780634e71e0c814610296576101da565b806319a78f55116101b857806319a78f551461021a5780631e83409a1461022d57806334ea5389146102425780633d16433e14610255576101da565b8063081e3eda146101df57806316048bc4146101fd57806317caf6f114610212575b600080fd5b6101e76103ee565b6040516101f491906119fd565b60405180910390f35b6102056103f4565b6040516101f4919061177e565b6101e7610403565b6101e76102283660046115fd565b610409565b61024061023b3660046115e2565b610442565b005b61024061025036600461165b565b610532565b6101e76102633660046115e2565b6105f2565b6101e76102763660046115e2565b610604565b610240610289366004611631565b61065c565b6101e7610763565b610240610769565b6102406102ac3660046116c3565b6107f7565b610240610931565b6102cc6102c73660046116c3565b610954565b6040516101f494939291906117cf565b6101e76102ea3660046115e2565b610995565b6102406102fd3660046115e2565b6109b0565b610240610310366004611716565b610a27565b610205610a65565b6101e7610a74565b6103386103333660046116f3565b610a7a565b6040516101f4929190611a06565b610205610a9e565b61024061035c36600461165b565b610aad565b610240610c50565b6101e76103773660046115e2565b610d46565b6101e761038a3660046115e2565b610d58565b61024061039d3660046115e2565b610f25565b6102406103b0366004611631565b610fd0565b6102406103c33660046115e2565b6110f5565b6101e76103d63660046115e2565b61110d565b6101e76103e93660046115fd565b611161565b60045490565b6000546001600160a01b031681565b60085481565b60008061041584610604565b60009081526006602090815260408083206001600160a01b03871684529091529020549150505b92915050565b600061044d82610604565b6000818152600660209081526040808320338452909152902054909150158061049457506004818154811061047e57fe5b9060005260206000209060040201600101546000145b1561049f575061052f565b6000600482815481106104ae57fe5b600091825260208083208584526006825260408085203386529092529220600490910290910191506104df836107f7565b600061050782600101546104fb846000015486600301546112ac565b9063ffffffff6112d616565b905061051b826000015484600301546112ac565b600183015561052a33826112fe565b505050505b50565b6000546001600160a01b031633146105655760405162461bcd60e51b815260040161055c906118ee565b60405180910390fd5b801561057357610573610931565b600061057e84610604565b90506105c3836105b76004848154811061059457fe5b9060005260206000209060040201600101546008546112d690919063ffffffff16565b9063ffffffff6113e416565b60088190555082600482815481106105d757fe5b90600052602060002090600402016001018190555050505050565b60056020526000908152604090205481565b6001600160a01b038116600090815260056020526040812054829061063b5760405162461bcd60e51b815260040161055c90611911565b50506001600160a01b03166000908152600560205260409020546000190190565b600061066783610604565b905060006004828154811061067857fe5b600091825260208083208584526006825260408085203386529092529220600490910290910191506106a9836107f7565b8054156106da5760006106cc82600101546104fb846000015486600301546112ac565b90506106d833826112fe565b505b81546106f7906001600160a01b031633308763ffffffff61141016565b8054610709908563ffffffff6113e416565b808255600383015461071b91906112ac565b6001820155604051839033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15906107549088906119fd565b60405180910390a35050505050565b60095481565b6001546001600160a01b031633146107935760405162461bcd60e51b815260040161055c906117f5565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006004828154811061080657fe5b9060005260206000209060040201905080600201544311610827575061052f565b80546040516370a0823160e01b81526000916001600160a01b0316906370a082319061085790309060040161177e565b60206040518083038186803b15801561086f57600080fd5b505afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a791906116db565b9050806108bb57504360029091015561052f565b60006109006008546108f485600101546108e86003546108e88960020154436112d690919063ffffffff16565b9063ffffffff61146e16565b9063ffffffff6114a816565b905061092061090f82846114d2565b60038501549063ffffffff6113e416565b600384015550504360029091015550565b60045460005b8181101561095057610948816107f7565b600101610937565b5050565b6004818154811061096157fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b6001600160a01b031660009081526007602052604090205490565b60006109bb82610604565b90506000600482815481106109cc57fe5b60009182526020808320858452600682526040808520338087529352909320805460049093029093018054909450610a17926001600160a01b0391909116919063ffffffff6114f016565b6000808255600190910155505050565b6000546001600160a01b03163314610a515760405162461bcd60e51b815260040161055c906118ee565b8015610a5f57610a5f610931565b50600355565b6001546001600160a01b031681565b60035481565b60066020908152600092835260408084209091529082529020805460019091015482565b6002546001600160a01b031681565b6001600160a01b038316600090815260056020526040902054839015610ae55760405162461bcd60e51b815260040161055c906119aa565b6000546001600160a01b03163314610b0f5760405162461bcd60e51b815260040161055c906118ee565b8115610b1d57610b1d610931565b60006009544311610b3057600954610b32565b435b600854909150610b48908563ffffffff6113e416565b600855604080516080810182526001600160a01b0396871680825260208083019788528284019485526000606084018181526004805460018101825581845295517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b96820296870180546001600160a01b03191691909d1617909b5598517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c85015594517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d84015596517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e909201919091559554958252600590945292909220929092555050565b6004546000805b82811015610d3b5760008181526006602090815260408083203384529091529020541580610ca3575060048181548110610c8d57fe5b9060005260206000209060040201600101546000145b15610cad57610d33565b600060048281548110610cbc57fe5b60009182526020808320858452600682526040808520338652909252922060049091029091019150610ced836107f7565b610d17610d0a82600101546104fb846000015486600301546112ac565b859063ffffffff6113e416565b9350610d2b816000015483600301546112ac565b600190910155505b600101610c57565b5061095033826112fe565b60076020526000908152604090205481565b60045460009081805b82811015610f1d5760008181526006602090815260408083206001600160a01b03891684529091529020541580610db6575060048181548110610da057fe5b9060005260206000209060040201600101546000145b15610dc057610f15565b600060048281548110610dcf57fe5b600091825260208083208584526006825260408085206001600160a01b038c81168752935280852060049485029092016003810154815492516370a0823160e01b815291975092959294929391909116916370a0823191610e329130910161177e565b60206040518083038186803b158015610e4a57600080fd5b505afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8291906116db565b9050836002015443118015610e9657508015155b15610ee8576000610ec86008546108f487600101546108e86003546108e88b60020154436112d690919063ffffffff16565b9050610ee4610ed782846114d2565b849063ffffffff6113e416565b9250505b610f0e610f0184600101546104fb8660000154866112ac565b879063ffffffff6113e416565b9550505050505b600101610d61565b509392505050565b6000546001600160a01b03163314610f4f5760405162461bcd60e51b815260040161055c906118ee565b6001600160a01b038116610f755760405162461bcd60e51b815260040161055c9061189c565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610fdb83610604565b9050600060048281548110610fec57fe5b6000918252602080832085845260068252604080852033865290925292208054600490920290920192508411156110355760405162461bcd60e51b815260040161055c906118c3565b61103e836107f7565b600061105a82600101546104fb846000015486600301546112ac565b905061106633826112fe565b8154611078908663ffffffff6112d616565b808355600384015461108a91906112ac565b600183015582546110ab906001600160a01b0316338763ffffffff6114f016565b83336001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568876040516110e591906119fd565b60405180910390a3505050505050565b60006111018233610409565b90506109508282610fd0565b60008061111983610604565b905060006004828154811061112a57fe5b906000526020600020906004020190506111596008546108f4836001015460035461146e90919063ffffffff16565b949350505050565b60008061116d84610604565b905060006004828154811061117e57fe5b600091825260208083208584526006825260408085206001600160a01b038a81168752935280852060049485029092016003810154815492516370a0823160e01b815291975092959294929391909116916370a08231916111e19130910161177e565b60206040518083038186803b1580156111f957600080fd5b505afa15801561120d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123191906116db565b905083600201544311801561124557508015155b1561128a5760006112776008546108f487600101546108e86003546108e88b60020154436112d690919063ffffffff16565b9050611286610ed782846114d2565b9250505b6112a083600101546104fb8560000154856112ac565b98975050505050505050565b6000670de0b6b3a76400006112c7848463ffffffff61146e16565b816112ce57fe5b049392505050565b6000828211156112f85760405162461bcd60e51b815260040161055c90611879565b50900390565b6002546040516310b3879160e11b81526001600160a01b03909116906321670f229061133090859085906004016117b6565b600060405180830381600087803b15801561134a57600080fd5b505af115801561135e573d6000803e3d6000fd5b5050506001600160a01b03831660009081526007602052604090205461138b91508263ffffffff6113e416565b6001600160a01b038316600081815260076020526040908190209290925590517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4906113d89084906119fd565b60405180910390a25050565b6000828201838110156114095760405162461bcd60e51b815260040161055c9061193d565b9392505050565b611468846323b872dd60e01b85858560405160240161143193929190611792565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611514565b50505050565b60008261147d5750600061043c565b8282028284828161148a57fe5b04146114095760405162461bcd60e51b815260040161055c906119da565b60008082116114c95760405162461bcd60e51b815260040161055c90611851565b8183816112ce57fe5b6000611409826108f485670de0b6b3a764000063ffffffff61146e16565b61150f8363a9059cbb60e01b84846040516024016114319291906117b6565b505050565b60006060836001600160a01b0316836040516115309190611745565b6000604051808303816000865af19150503d806000811461156d576040519150601f19603f3d011682016040523d82523d6000602084013e611572565b606091505b5091509150816115945760405162461bcd60e51b815260040161055c9061181c565b80511561146857808060200190518101906115af91906116a7565b6114685760405162461bcd60e51b815260040161055c90611960565b80356001600160a01b038116811461043c57600080fd5b6000602082840312156115f3578081fd5b61140983836115cb565b6000806040838503121561160f578081fd5b61161984846115cb565b915061162884602085016115cb565b90509250929050565b60008060408385031215611643578182fd5b61164d84846115cb565b946020939093013593505050565b60008060006060848603121561166f578081fd5b83356001600160a01b0381168114611685578182fd5b925060208401359150604084013561169c81611a14565b809150509250925092565b6000602082840312156116b8578081fd5b815161140981611a14565b6000602082840312156116d4578081fd5b5035919050565b6000602082840312156116ec578081fd5b5051919050565b60008060408385031215611705578182fd5b8235915061162884602085016115cb565b60008060408385031215611728578182fd5b82359150602083013561173a81611a14565b809150509250929050565b60008251815b81811015611765576020818601810151858301520161174b565b818111156117735782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601190820152700eed2e8d0c8e4c2ee40e8dede40daeac6d607b1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b602080825260129082015271131408151bdad95b88139bdd08115e1a5cdd60721b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b602080825260169082015275131408151bdad95b88105b1c9958591e48115e1a5cdd60521b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b918252602082015260400190565b801515811461052f57600080fdfea26469706673582212201c0c8e894ab1ae2df80078c39f5e6e5357042167766df33f4e7581c8ef0a8a7d64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "444:11596:43:-:0;;;2232:1;2199:34;;2533:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;;757;792:41;;757:7;;792:41;2649:10:43;2629:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2603:15:43;:58;;-1:-1:-1;;;;;;2603:58:43;-1:-1:-1;;;;;2603:58:43;;;;;;;;;;2671:10;:24;-1:-1:-1;444:11596:43;;;;;;;;;;:::o;287:399:-1:-;;;419:2;407:9;398:7;394:23;390:32;387:2;;;-1:-1;;425:12;387:2;83:13;;-1:-1;;;;;1202:54;;1406:35;;1396:2;;-1:-1;;1445:12;1396:2;588;638:22;;;;224:13;477:74;;224:13;;-1:-1;;;381:305;813:222;-1:-1;;;;;1202:54;;;;764:37;;940:2;925:18;;911:124;;444:11596:43;;;;;;", - "deployedSourceMap": "444:11596:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:94;;;:::i;:::-;;;;;;;;;;;;;;;;251:22:38;;;:::i;:::-;;;;;;;;2199:34:43;;;:::i;3311:180::-;;;;;;;;;:::i;10462:572::-;;;;;;;;;:::i;:::-;;4207:379;;;;;;;;;:::i;1881:50::-;;;;;;;;;:::i;3165:140::-;;;;;;;;;:::i;8459:729::-;;;;;;;;;:::i;2288:25::-;;;:::i;1072:225:38:-;;;:::i;7641:701:43:-;;;;;;;;;:::i;7392:176::-;;;:::i;1848:27::-;;;;;;;;;:::i;:::-;;;;;;;;;;;6897:119;;;;;;;;;:::i;10119:337::-;;;;;;;;;:::i;4592:192::-;;;;;;;;;:::i;279:26:38:-;;;:::i;1788:27:43:-;;;:::i;1986:64::-;;;;;;;;;:::i;:::-;;;;;;;;;1752:30;;;:::i;3539:662::-;;;;;;;;;:::i;11040:723::-;;;:::i;2056:49::-;;;;;;;;;:::i;5687:1204::-;;;;;;;;;:::i;846:220:38:-;;;;;;;;;:::i;9194:695:43:-;;;;;;;;;:::i;9895:156::-;;;;;;;;;:::i;7022:243::-;;;;;;;;;:::i;4837:844::-;;;;;;;;;:::i;3065:94::-;3136:9;:16;3065:94;:::o;251:22:38:-;;;-1:-1:-1;;;;;251:22:38;;:::o;2199:34:43:-;;;;:::o;3311:180::-;3391:7;3410:11;3424:16;3431:8;3424:6;:16::i;:::-;3457:13;;;;:8;:13;;;;;;;;-1:-1:-1;;;;;3457:20:43;;;;;;;;;:27;;-1:-1:-1;;3311:180:43;;;;;:::o;10462:572::-;10512:11;10526:16;10533:8;10526:6;:16::i;:::-;10556:13;;;;:8;:13;;;;;;;;10570:10;10556:25;;;;;;;:32;10512:30;;-1:-1:-1;10556:37:43;;:71;;;10597:9;10607:3;10597:14;;;;;;;;;;;;;;;;;;:25;;;10626:1;10597:30;10556:71;10552:120;;;10643:7;;;10552:120;10681:21;10705:9;10715:3;10705:14;;;;;;;;;;;;;;;;10753:13;;;:8;:13;;;;;;10767:10;10753:25;;;;;;;10705:14;;;;;;;;-1:-1:-1;10788:15:43;10762:3;10788:10;:15::i;:::-;10813;10831:71;10886:4;:15;;;10831:50;10847:4;:11;;;10860:4;:20;;;10831:15;:50::i;:::-;:54;:71;:54;:71;:::i;:::-;10813:89;;10930:50;10946:4;:11;;;10959:4;:20;;;10930:15;:50::i;:::-;10912:15;;;:68;10990:37;11007:10;11019:7;10990:16;:37::i;:::-;10462:572;;;;;;:::o;4207:379::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;;;;;;;;;4345:11:43::1;4341:59;;;4372:17;:15;:17::i;:::-;4409:11;4423:16;4430:8;4423:6;:16::i;:::-;4409:30;;4467:63;4518:11;4467:46;4487:9;4497:3;4487:14;;;;;;;;;;;;;;;;;;:25;;;4467:15;;:19;;:46;;;;:::i;:::-;:50:::0;:63:::1;:50;:63;:::i;:::-;4449:15;:81;;;;4568:11;4540:9;4550:3;4540:14;;;;;;;;;;;;;;;;;;:25;;:39;;;;666:1:38;4207:379:43::0;;;:::o;1881:50::-;;;;;;;;;;;;;:::o;3165:140::-;-1:-1:-1;;;;;2809:24:43;;3243:7;2809:24;;;:15;:24;;;;;;3224:8;;2801:59;;;;-1:-1:-1;;;2801:59:43;;;;;;;;;-1:-1:-1;;;;;;;3269:25:43::1;;::::0;;;:15:::1;:25;::::0;;;;;-1:-1:-1;;3269:29:43;;3165:140::o;8459:729::-;8528:11;8542:16;8549:8;8542:6;:16::i;:::-;8528:30;;8568:21;8592:9;8602:3;8592:14;;;;;;;;;;;;;;;;8640:13;;;:8;:13;;;;;;8654:10;8640:25;;;;;;;8592:14;;;;;;;;-1:-1:-1;8675:15:43;8649:3;8675:10;:15::i;:::-;8704:11;;:15;8700:216;;8735:15;8753:101;8825:4;:15;;;8753:50;8769:4;:11;;;8782:4;:20;;;8753:15;:50::i;:101::-;8735:119;;8868:37;8885:10;8897:7;8868:16;:37::i;:::-;8700:216;;8932:12;;8925:82;;-1:-1:-1;;;;;8932:12:43;8971:10;8992:4;8999:7;8925:82;:37;:82;:::i;:::-;9031:11;;:24;;9047:7;9031:24;:15;:24;:::i;:::-;9017:38;;;9112:20;;;;9083:50;;9017:38;9083:15;:50::i;:::-;9065:15;;;:68;9148:33;;9168:3;;9156:10;;9148:33;;;;9173:7;;9148:33;;;;;;;;;;8459:729;;;;;:::o;2288:25::-;;;;:::o;1072:225:38:-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;;1235:21:38;;;-1:-1:-1;;;;;1245:11:38;;1235:21;;;;1266:24;;;1072:225::o;7641:701:43:-;7692:21;7716:9;7726:4;7716:15;;;;;;;;;;;;;;;;;;7692:39;;7761:4;:20;;;7745:12;:36;7741:73;;7797:7;;;7741:73;7849:12;;7842:45;;-1:-1:-1;;;7842:45:43;;7823:16;;-1:-1:-1;;;;;7849:12:43;;7842:30;;:45;;7881:4;;7842:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7823:64;-1:-1:-1;7901:13:43;7897:99;;-1:-1:-1;7953:12:43;7930:20;;;;:35;7979:7;;7897:99;8005:18;8026:163;8173:15;;8026:129;8139:4;:15;;;8026:95;8108:12;;8026:64;8069:4;:20;;;8026:25;:42;;:64;;;;:::i;:::-;:81;:95;:81;:95;:::i;:129::-;:146;:163;:146;:163;:::i;:::-;8005:184;;8222:68;8247:42;8268:10;8280:8;8247:20;:42::i;:::-;8222:20;;;;;:68;:24;:68;:::i;:::-;8199:20;;;:91;-1:-1:-1;;8323:12:43;8300:20;;;;:35;7641:701;:::o;7392:176::-;7453:9;:16;7436:14;7479:83;7507:6;7501:3;:12;7479:83;;;7536:15;7547:3;7536:10;:15::i;:::-;7515:5;;7479:83;;;;7392:176;:::o;1848:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1848:27:43;;;;-1:-1:-1;1848:27:43;;;:::o;6897:119::-;-1:-1:-1;;;;;6988:21:43;6962:7;6988:21;;;:14;:21;;;;;;;6897:119::o;10119:337::-;10181:11;10195:16;10202:8;10195:6;:16::i;:::-;10181:30;;10221:21;10245:9;10255:3;10245:14;;;;;;;;;;;;;;;;10293:13;;;:8;:13;;;;;;10307:10;10293:25;;;;;;;;10383:11;;10245:14;;;;;;;10335:12;;10245:14;;-1:-1:-1;10328:67:43;;-1:-1:-1;;;;;10335:12:43;;;;;10307:10;10328:67;:33;:67;:::i;:::-;10419:1;10405:15;;;10430;;;;:19;-1:-1:-1;;;10119:337:43:o;4592:192::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;4685:11:43::1;4681:59;;;4712:17;:15;:17::i;:::-;-1:-1:-1::0;4749:12:43::1;:28:::0;4592:192::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;1788:27:43:-;;;;:::o;1986:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1752:30::-;;;-1:-1:-1;;;;;1752:30:43;;:::o;3539:662::-;-1:-1:-1;;;;;2944:24:43;;;;;;:15;:24;;;;;;3669:8;;2944:29;2936:64;;;;-1:-1:-1;;;2936:64:43;;;;;;;;;635:7:38::1;::::0;-1:-1:-1;;;;;635:7:38::1;621:10;:21;613:43;;;;-1:-1:-1::0;;;613:43:38::1;;;;;;;;;3703:11:43::2;3699:59;;;3730:17;:15;:17::i;:::-;3767:23;3808:10;;3793:12;:25;:53;;3836:10;;3793:53;;;3821:12;3793:53;3874:15;::::0;3767:79;;-1:-1:-1;3874:32:43::2;::::0;3894:11;3874:32:::2;:19;:32;:::i;:::-;3856:15;:50:::0;3944:186:::2;::::0;;::::2;::::0;::::2;::::0;;-1:-1:-1;;;;;3944:186:43;;::::2;::::0;;;::::2;::::0;;::::2;::::0;;;;;;;;;-1:-1:-1;3944:186:43;;;;;;3916:9:::2;:224:::0;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;;;;3916:224:43::2;::::0;;;::::2;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;4178:16;;4150:25;;;:15:::2;:25:::0;;;;;;;:44;;;;-1:-1:-1;;3539:662:43:o;11040:723::-;11094:9;:16;11077:14;;11149:561;11177:6;11171:3;:12;11149:561;;;11210:13;;;;:8;:13;;;;;;;;11224:10;11210:25;;;;;;;:32;:37;;:71;;;11251:9;11261:3;11251:14;;;;;;;;;;;;;;;;;;:25;;;11280:1;11251:30;11210:71;11206:130;;;11301:8;;11206:130;11349:21;11373:9;11383:3;11373:14;;;;;;;;;;;;;;;;11425:13;;;:8;:13;;;;;;11439:10;11425:25;;;;;;;11373:14;;;;;;;;-1:-1:-1;11464:15:43;11434:3;11464:10;:15::i;:::-;11503:114;11532:71;11587:4;:15;;;11532:50;11548:4;:11;;;11561:4;:20;;;11532:15;:50::i;:71::-;11503:7;;:114;:11;:114;:::i;:::-;11493:124;;11649:50;11665:4;:11;;;11678:4;:20;;;11649:15;:50::i;:::-;11631:15;;;;:68;-1:-1:-1;11149:561:43;11185:5;;11149:561;;;;11719:37;11736:10;11748:7;11719:16;:37::i;2056:49::-;;;;;;;;;;;;;:::o;5687:1204::-;5790:9;:16;5754:7;;;;5849:1008;5877:6;5871:3;:12;5849:1008;;;5910:13;;;;:8;:13;;;;;;;;-1:-1:-1;;;;;5910:20:43;;;;;;;;;:27;:32;;:66;;;5946:9;5956:3;5946:14;;;;;;;;;;;;;;;;;;:25;;;5975:1;5946:30;5910:66;5906:125;;;5996:8;;5906:125;6044:21;6068:9;6078:3;6068:14;;;;;;;;;;;;;;;;6120:13;;;:8;:13;;;;;;-1:-1:-1;;;;;6120:20:43;;;;;;;;;;6068:14;;;;;;;6180:20;;;;6240:12;;6233:45;;-1:-1:-1;;;6233:45:43;;6068:14;;-1:-1:-1;6120:20:43;;6180;;6068:14;;6240:12;;;;;6233:30;;:45;;6272:4;;6233:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6214:64;;6311:4;:20;;;6296:12;:35;:52;;;;-1:-1:-1;6335:13:43;;;6296:52;6292:414;;;6368:18;6389:203;6576:15;;6389:161;6534:4;:15;;;6389:119;6495:12;;6389:80;6448:4;:20;;;6389:33;:58;;:80;;;;:::i;:203::-;6368:224;;6628:63;6648:42;6669:10;6681:8;6648:20;:42::i;:::-;6628:15;;:63;:19;:63;:::i;:::-;6610:81;;6292:414;;6733:113;6766:66;6816:4;:15;;;6766:45;6782:4;:11;;;6795:15;6766;:45::i;:66::-;6733:11;;:113;:15;:113;:::i;:::-;6719:127;;5849:1008;;;;;5885:5;;5849:1008;;;-1:-1:-1;6873:11:43;5687:1204;-1:-1:-1;;;5687:1204:43:o;846:220:38:-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;;-1:-1:-1::0;;;920:48:38::1;;;;;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;9194:695:43:-;9264:11;9278:16;9285:8;9278:6;:16::i;:::-;9264:30;;9304:21;9328:9;9338:3;9328:14;;;;;;;;;;;;;;;;9376:13;;;:8;:13;;;;;;9390:10;9376:25;;;;;;;9419:11;;9328:14;;;;;;;;-1:-1:-1;9419:22:43;-1:-1:-1;9419:22:43;9411:52;;;;-1:-1:-1;;;9411:52:43;;;;;;;;;9473:15;9484:3;9473:10;:15::i;:::-;9498;9516:71;9571:4;:15;;;9516:50;9532:4;:11;;;9545:4;:20;;;9516:15;:50::i;:71::-;9498:89;;9597:37;9614:10;9626:7;9597:16;:37::i;:::-;9658:11;;:24;;9674:7;9658:24;:15;:24;:::i;:::-;9644:38;;;9739:20;;;;9710:50;;9644:38;9710:15;:50::i;:::-;9692:15;;;:68;9777:12;;9770:63;;-1:-1:-1;;;;;9777:12:43;9812:10;9825:7;9770:63;:33;:63;:::i;:::-;9869:3;9857:10;-1:-1:-1;;;;;9848:34:43;;9874:7;9848:34;;;;;;;;;;;;;;;9194:695;;;;;;:::o;9895:156::-;9951:15;9969:38;9986:8;9996:10;9969:16;:38::i;:::-;9951:56;;10017:27;10026:8;10036:7;10017:8;:27::i;7022:243::-;7090:7;7109:11;7123:16;7130:8;7123:6;:16::i;:::-;7109:30;;7149:21;7173:9;7183:3;7173:14;;;;;;;;;;;;;;;;;;7149:38;;7204:54;7242:15;;7204:33;7221:4;:15;;;7204:12;;:16;;:33;;;;:::i;:54::-;7197:61;7022:243;-1:-1:-1;;;;7022:243:43:o;4837:844::-;4919:7;4938:11;4952:16;4959:8;4952:6;:16::i;:::-;4938:30;;4978:21;5002:9;5012:3;5002:14;;;;;;;;;;;;;;;;5050:13;;;:8;:13;;;;;;-1:-1:-1;;;;;5050:20:43;;;;;;;;;;5002:14;;;;;;;5106:20;;;;5162:12;;5155:45;;-1:-1:-1;;;5155:45:43;;5002:14;;-1:-1:-1;5050:20:43;;5106;;5002:14;;5162:12;;;;;5155:30;;:45;;5194:4;;5155:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5136:64;;5229:4;:20;;;5214:12;:35;:52;;;;-1:-1:-1;5253:13:43;;;5214:52;5210:382;;;5282:18;5303:183;5470:15;;5303:145;5432:4;:15;;;5303:107;5397:12;;5303:72;5354:4;:20;;;5303:29;:50;;:72;;;;:::i;:183::-;5282:204;;5518:63;5538:42;5559:10;5571:8;5538:20;:42::i;5518:63::-;5500:81;;5210:382;;5608:66;5658:4;:15;;;5608:45;5624:4;:11;;;5637:15;5608;:45::i;:66::-;5601:73;4837:844;-1:-1:-1;;;;;;;;4837:844:43:o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;;;;392:115;-1:-1:-1;;;392:115:36:o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;11804:234:43:-;11896:15;;11879:54;;-1:-1:-1;;;11879:54:43;;-1:-1:-1;;;;;11896:15:43;;;;11879:40;;:54;;11920:3;;11925:7;;11879:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;11965:19:43;;;;;;:14;:19;;;;;;:32;;-1:-1:-1;11989:7:43;11965:32;:23;:32;:::i;:::-;-1:-1:-1;;;;;11943:19:43;;;;;;:14;:19;;;;;;;:54;;;;12012:19;;;;;;12023:7;;12012:19;;;;;;;;;;11804:234;;:::o;1074:157:41:-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;1015:275:40:-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;;;;;-1:-1:-1;;1205:68:40;;;;;;;;;;;;;;-1:-1:-1;;;;;1205:68:40;-1:-1:-1;;;;;;1205:68:40;;;;;;;;;;1153:19;:130::i;:::-;1015:275;;;;:::o;281:217:41:-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;504:138;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;645:123:36;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;916:86;804:205;;;:::o;2335:1027::-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;5:130:-1;72:20;;-1:-1;;;;;16456:54;;16937:35;;16927:2;;16986:1;;16976:12;686:241;;790:2;778:9;769:7;765:23;761:32;758:2;;;-1:-1;;796:12;758:2;858:53;903:7;879:22;858:53;;934:366;;;1055:2;1043:9;1034:7;1030:23;1026:32;1023:2;;;-1:-1;;1061:12;1023:2;1123:53;1168:7;1144:22;1123:53;;;1113:63;;1231:53;1276:7;1213:2;1256:9;1252:22;1231:53;;;1221:63;;1017:283;;;;;;1307:366;;;1428:2;1416:9;1407:7;1403:23;1399:32;1396:2;;;-1:-1;;1434:12;1396:2;1496:53;1541:7;1517:22;1496:53;;;1486:63;1586:2;1625:22;;;;475:20;;-1:-1;;;1390:283;1680:485;;;;1815:2;1803:9;1794:7;1790:23;1786:32;1783:2;;;-1:-1;;1821:12;1783:2;72:20;;-1:-1;;;;;16456:54;;16937:35;;16927:2;;-1:-1;;16976:12;16927:2;1873:63;-1:-1;1973:2;2012:22;;475:20;;-1:-1;2081:2;2117:22;;206:20;231:30;206:20;231:30;;;2089:60;;;;1777:388;;;;;;2172:257;;2284:2;2272:9;2263:7;2259:23;2255:32;2252:2;;;-1:-1;;2290:12;2252:2;354:6;348:13;366:30;390:5;366:30;;2436:241;;2540:2;2528:9;2519:7;2515:23;2511:32;2508:2;;;-1:-1;;2546:12;2508:2;-1:-1;475:20;;2502:175;-1:-1;2502:175;2684:263;;2799:2;2787:9;2778:7;2774:23;2770:32;2767:2;;;-1:-1;;2805:12;2767:2;-1:-1;623:13;;2761:186;-1:-1;2761:186;2954:366;;;3075:2;3063:9;3054:7;3050:23;3046:32;3043:2;;;-1:-1;;3081:12;3043:2;488:6;475:20;3133:63;;3251:53;3296:7;3233:2;3276:9;3272:22;3251:53;;3327:360;;;3445:2;3433:9;3424:7;3420:23;3416:32;3413:2;;;-1:-1;;3451:12;3413:2;488:6;475:20;3503:63;;3603:2;3643:9;3639:22;206:20;231:30;255:5;231:30;;;3611:60;;;;3407:280;;;;;;8245:271;;3974:5;15838:12;-1:-1;16674:101;16688:6;16685:1;16682:13;16674:101;;;4118:4;16755:11;;;;;16749:18;16736:11;;;16729:39;16703:10;16674:101;;;16790:6;16787:1;16784:13;16781:2;;;-1:-1;16846:6;16841:3;16837:16;16830:27;16781:2;-1:-1;4149:16;;;;;8379:137;-1:-1;;8379:137;8523:222;-1:-1;;;;;16456:54;;;;3765:37;;8650:2;8635:18;;8621:124;8752:444;-1:-1;;;;;16456:54;;;3765:37;;16456:54;;;;9099:2;9084:18;;3765:37;9182:2;9167:18;;8196:37;;;;8935:2;8920:18;;8906:290;9203:333;-1:-1;;;;;16456:54;;;;3765:37;;9522:2;9507:18;;8196:37;9358:2;9343:18;;9329:207;9543:556;-1:-1;;;;;16456:54;;;;3765:37;;9919:2;9904:18;;8196:37;;;;10002:2;9987:18;;8196:37;10085:2;10070:18;;8196:37;9754:3;9739:19;;9725:374;10106:416;10306:2;10320:47;;;4402:2;10291:18;;;16136:19;-1:-1;;;16176:14;;;4418:36;4473:12;;;10277:245;10529:416;10729:2;10743:47;;;10714:18;;;16136:19;4760:34;16176:14;;;4740:55;4814:12;;;10700:245;10952:416;11152:2;11166:47;;;5065:2;11137:18;;;16136:19;-1:-1;;;16176:14;;;5081:37;5137:12;;;11123:245;11375:416;11575:2;11589:47;;;5388:1;11560:18;;;16136:19;-1:-1;;;16176:14;;;5403:32;5454:12;;;11546:245;11798:416;11998:2;12012:47;;;5705:2;11983:18;;;16136:19;-1:-1;;;16176:14;;;5721:36;5776:12;;;11969:245;12221:416;12421:2;12435:47;;;6027:2;12406:18;;;16136:19;-1:-1;;;16176:14;;;6043:40;6102:12;;;12392:245;12644:416;12844:2;12858:47;;;6353:1;12829:18;;;16136:19;-1:-1;;;16176:14;;;6368:32;6419:12;;;12815:245;13067:416;13267:2;13281:47;;;6670:2;13252:18;;;16136:19;-1:-1;;;16176:14;;;6686:41;6746:12;;;13238:245;13490:416;13690:2;13704:47;;;6997:1;13675:18;;;16136:19;-1:-1;;;16176:14;;;7012:32;7063:12;;;13661:245;13913:416;14113:2;14127:47;;;7314:2;14098:18;;;16136:19;7350:34;16176:14;;;7330:55;-1:-1;;;7405:12;;;7398:34;7451:12;;;14084:245;14336:416;14536:2;14550:47;;;7702:2;14521:18;;;16136:19;-1:-1;;;16176:14;;;7718:45;7782:12;;;14507:245;14759:416;14959:2;14973:47;;;8033:1;14944:18;;;16136:19;-1:-1;;;16176:14;;;8048:32;8099:12;;;14930:245;15182:222;8196:37;;;15309:2;15294:18;;15280:124;15411:333;8196:37;;;15730:2;15715:18;;8196:37;15566:2;15551:18;;15537:207;17002:111;17083:5;16368:13;16361:21;17061:5;17058:32;17048:2;;17104:1;;17094:12", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Ownable} from \"../lib/Ownable.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {IDODORewardVault, DODORewardVault} from \"./DODORewardVault.sol\";\n\n\ncontract DODOMine is Ownable {\n using SafeMath for uint256;\n using SafeERC20 for IERC20;\n\n // Info of each user.\n struct UserInfo {\n uint256 amount; // How many LP tokens the user has provided.\n uint256 rewardDebt; // Reward debt. See explanation below.\n //\n // We do some fancy math here. Basically, any point in time, the amount of DODOs\n // entitled to a user but is pending to be distributed is:\n //\n // pending reward = (user.amount * pool.accDODOPerShare) - user.rewardDebt\n //\n // Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens:\n // 1. The pool's `accDODOPerShare` (and `lastRewardBlock`) gets updated.\n // 2. User receives the pending reward sent to his/her address.\n // 3. User's `amount` gets updated.\n // 4. User's `rewardDebt` gets updated.\n }\n\n // Info of each pool.\n struct PoolInfo {\n address lpToken; // Address of LP token contract.\n uint256 allocPoint; // How many allocation points assigned to this pool. DODOs to distribute per block.\n uint256 lastRewardBlock; // Last block number that DODOs distribution occurs.\n uint256 accDODOPerShare; // Accumulated DODOs per share, times 1e12. See below.\n }\n\n address public dodoRewardVault;\n uint256 public dodoPerBlock;\n\n // Info of each pool.\n PoolInfo[] public poolInfos;\n mapping(address => uint256) public lpTokenRegistry;\n\n // Info of each user that stakes LP tokens.\n mapping(uint256 => mapping(address => UserInfo)) public userInfo;\n mapping(address => uint256) public realizedReward;\n\n // Total allocation points. Must be the sum of all allocation points in all pools.\n uint256 public totalAllocPoint = 0;\n // The block number when DODO mining starts.\n uint256 public startBlock;\n\n event Deposit(address indexed user, uint256 indexed pid, uint256 amount);\n event Withdraw(address indexed user, uint256 indexed pid, uint256 amount);\n event Claim(address indexed user, uint256 amount);\n\n constructor(address _dodoToken, uint256 _startBlock) public {\n dodoRewardVault = address(new DODORewardVault(_dodoToken));\n startBlock = _startBlock;\n }\n\n // ============ Modifiers ============\n\n modifier lpTokenExist(address lpToken) {\n require(lpTokenRegistry[lpToken] > 0, \"LP Token Not Exist\");\n _;\n }\n\n modifier lpTokenNotExist(address lpToken) {\n require(lpTokenRegistry[lpToken] == 0, \"LP Token Already Exist\");\n _;\n }\n\n // ============ Helper ============\n\n function poolLength() external view returns (uint256) {\n return poolInfos.length;\n }\n\n function getPid(address _lpToken) public view lpTokenExist(_lpToken) returns (uint256) {\n return lpTokenRegistry[_lpToken] - 1;\n }\n\n function getUserLpBalance(address _lpToken, address _user) public view returns (uint256) {\n uint256 pid = getPid(_lpToken);\n return userInfo[pid][_user].amount;\n }\n\n // ============ Ownable ============\n\n function addLpToken(\n address _lpToken,\n uint256 _allocPoint,\n bool _withUpdate\n ) public lpTokenNotExist(_lpToken) onlyOwner {\n if (_withUpdate) {\n massUpdatePools();\n }\n uint256 lastRewardBlock = block.number > startBlock ? block.number : startBlock;\n totalAllocPoint = totalAllocPoint.add(_allocPoint);\n poolInfos.push(\n PoolInfo({\n lpToken: _lpToken,\n allocPoint: _allocPoint,\n lastRewardBlock: lastRewardBlock,\n accDODOPerShare: 0\n })\n );\n lpTokenRegistry[_lpToken] = poolInfos.length;\n }\n\n function setLpToken(\n address _lpToken,\n uint256 _allocPoint,\n bool _withUpdate\n ) public onlyOwner {\n if (_withUpdate) {\n massUpdatePools();\n }\n uint256 pid = getPid(_lpToken);\n totalAllocPoint = totalAllocPoint.sub(poolInfos[pid].allocPoint).add(_allocPoint);\n poolInfos[pid].allocPoint = _allocPoint;\n }\n\n function setReward(uint256 _dodoPerBlock, bool _withUpdate) external onlyOwner {\n if (_withUpdate) {\n massUpdatePools();\n }\n dodoPerBlock = _dodoPerBlock;\n }\n\n // ============ View Rewards ============\n\n function getPendingReward(address _lpToken, address _user) external view returns (uint256) {\n uint256 pid = getPid(_lpToken);\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][_user];\n uint256 accDODOPerShare = pool.accDODOPerShare;\n uint256 lpSupply = IERC20(pool.lpToken).balanceOf(address(this));\n if (block.number > pool.lastRewardBlock && lpSupply != 0) {\n uint256 DODOReward = block\n .number\n .sub(pool.lastRewardBlock)\n .mul(dodoPerBlock)\n .mul(pool.allocPoint)\n .div(totalAllocPoint);\n accDODOPerShare = accDODOPerShare.add(DecimalMath.divFloor(DODOReward, lpSupply));\n }\n return DecimalMath.mul(user.amount, accDODOPerShare).sub(user.rewardDebt);\n }\n\n function getAllPendingReward(address _user) external view returns (uint256) {\n uint256 length = poolInfos.length;\n uint256 totalReward = 0;\n for (uint256 pid = 0; pid < length; ++pid) {\n if (userInfo[pid][_user].amount == 0 || poolInfos[pid].allocPoint == 0) {\n continue; // save gas\n }\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][_user];\n uint256 accDODOPerShare = pool.accDODOPerShare;\n uint256 lpSupply = IERC20(pool.lpToken).balanceOf(address(this));\n if (block.number > pool.lastRewardBlock && lpSupply != 0) {\n uint256 DODOReward = block\n .number\n .sub(pool.lastRewardBlock)\n .mul(dodoPerBlock)\n .mul(pool.allocPoint)\n .div(totalAllocPoint);\n accDODOPerShare = accDODOPerShare.add(DecimalMath.divFloor(DODOReward, lpSupply));\n }\n totalReward = totalReward.add(\n DecimalMath.mul(user.amount, accDODOPerShare).sub(user.rewardDebt)\n );\n }\n return totalReward;\n }\n\n function getRealizedReward(address _user) external view returns (uint256) {\n return realizedReward[_user];\n }\n\n function getDlpMiningSpeed(address _lpToken) external view returns (uint256) {\n uint256 pid = getPid(_lpToken);\n PoolInfo storage pool = poolInfos[pid];\n return dodoPerBlock.mul(pool.allocPoint).div(totalAllocPoint);\n }\n\n // ============ Update Pools ============\n\n // Update reward vairables for all pools. Be careful of gas spending!\n function massUpdatePools() public {\n uint256 length = poolInfos.length;\n for (uint256 pid = 0; pid < length; ++pid) {\n updatePool(pid);\n }\n }\n\n // Update reward variables of the given pool to be up-to-date.\n function updatePool(uint256 _pid) public {\n PoolInfo storage pool = poolInfos[_pid];\n if (block.number <= pool.lastRewardBlock) {\n return;\n }\n uint256 lpSupply = IERC20(pool.lpToken).balanceOf(address(this));\n if (lpSupply == 0) {\n pool.lastRewardBlock = block.number;\n return;\n }\n uint256 DODOReward = block\n .number\n .sub(pool.lastRewardBlock)\n .mul(dodoPerBlock)\n .mul(pool.allocPoint)\n .div(totalAllocPoint);\n pool.accDODOPerShare = pool.accDODOPerShare.add(DecimalMath.divFloor(DODOReward, lpSupply));\n pool.lastRewardBlock = block.number;\n }\n\n // ============ Deposit & Withdraw & Claim ============\n // Deposit & withdraw will also trigger claim\n\n function deposit(address _lpToken, uint256 _amount) public {\n uint256 pid = getPid(_lpToken);\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][msg.sender];\n updatePool(pid);\n if (user.amount > 0) {\n uint256 pending = DecimalMath.mul(user.amount, pool.accDODOPerShare).sub(\n user.rewardDebt\n );\n safeDODOTransfer(msg.sender, pending);\n }\n IERC20(pool.lpToken).safeTransferFrom(address(msg.sender), address(this), _amount);\n user.amount = user.amount.add(_amount);\n user.rewardDebt = DecimalMath.mul(user.amount, pool.accDODOPerShare);\n emit Deposit(msg.sender, pid, _amount);\n }\n\n function withdraw(address _lpToken, uint256 _amount) public {\n uint256 pid = getPid(_lpToken);\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][msg.sender];\n require(user.amount >= _amount, \"withdraw too much\");\n updatePool(pid);\n uint256 pending = DecimalMath.mul(user.amount, pool.accDODOPerShare).sub(user.rewardDebt);\n safeDODOTransfer(msg.sender, pending);\n user.amount = user.amount.sub(_amount);\n user.rewardDebt = DecimalMath.mul(user.amount, pool.accDODOPerShare);\n IERC20(pool.lpToken).safeTransfer(address(msg.sender), _amount);\n emit Withdraw(msg.sender, pid, _amount);\n }\n\n function withdrawAll(address _lpToken) public {\n uint256 balance = getUserLpBalance(_lpToken, msg.sender);\n withdraw(_lpToken, balance);\n }\n\n // Withdraw without caring about rewards. EMERGENCY ONLY.\n function emergencyWithdraw(address _lpToken) public {\n uint256 pid = getPid(_lpToken);\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][msg.sender];\n IERC20(pool.lpToken).safeTransfer(address(msg.sender), user.amount);\n user.amount = 0;\n user.rewardDebt = 0;\n }\n\n function claim(address _lpToken) public {\n uint256 pid = getPid(_lpToken);\n if (userInfo[pid][msg.sender].amount == 0 || poolInfos[pid].allocPoint == 0) {\n return; // save gas\n }\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][msg.sender];\n updatePool(pid);\n uint256 pending = DecimalMath.mul(user.amount, pool.accDODOPerShare).sub(user.rewardDebt);\n user.rewardDebt = DecimalMath.mul(user.amount, pool.accDODOPerShare);\n safeDODOTransfer(msg.sender, pending);\n }\n\n function claimAll() public {\n uint256 length = poolInfos.length;\n uint256 pending = 0;\n for (uint256 pid = 0; pid < length; ++pid) {\n if (userInfo[pid][msg.sender].amount == 0 || poolInfos[pid].allocPoint == 0) {\n continue; // save gas\n }\n PoolInfo storage pool = poolInfos[pid];\n UserInfo storage user = userInfo[pid][msg.sender];\n updatePool(pid);\n pending = pending.add(\n DecimalMath.mul(user.amount, pool.accDODOPerShare).sub(user.rewardDebt)\n );\n user.rewardDebt = DecimalMath.mul(user.amount, pool.accDODOPerShare);\n }\n safeDODOTransfer(msg.sender, pending);\n }\n\n // Safe DODO transfer function\n function safeDODOTransfer(address _to, uint256 _amount) internal {\n IDODORewardVault(dodoRewardVault).reward(_to, _amount);\n realizedReward[_to] = realizedReward[_to].add(_amount);\n emit Claim(_to, _amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMine.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMine.sol", - "exportedSymbols": { - "DODOMine": [ - 12822 - ] - }, - "id": 12823, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11633, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:43" - }, - { - "id": 11634, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:43" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 11636, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11272, - "src": "136:43:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11635, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 11638, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11079, - "src": "180:51:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11637, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:11:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 11640, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11441, - "src": "232:47:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11639, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "240:9:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 11642, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11624, - "src": "280:45:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11641, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "288:8:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 11644, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 10608, - "src": "326:42:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11643, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "334:6:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "file": "./DODORewardVault.sol", - "id": 11647, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 12999, - "src": "369:72:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11645, - "name": "IDODORewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "377:16:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - }, - { - "foreign": { - "argumentTypes": null, - "id": 11646, - "name": "DODORewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "395:15:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11648, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "465:7:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 11649, - "nodeType": "InheritanceSpecifier", - "src": "465:7:43" - } - ], - "contractDependencies": [ - 11271, - 12998 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12822, - "linearizedBaseContracts": [ - 12822, - 11271 - ], - "name": "DODOMine", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11652, - "libraryName": { - "contractScope": null, - "id": 11650, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "485:8:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "479:27:43", - "typeName": { - "id": 11651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "498:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 11655, - "libraryName": { - "contractScope": null, - "id": 11653, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "517:9:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "511:27:43", - "typeName": { - "contractScope": null, - "id": 11654, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "531:6:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "canonicalName": "DODOMine.UserInfo", - "id": 11660, - "members": [ - { - "constant": false, - "id": 11657, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11660, - "src": "596:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11659, - "mutability": "mutable", - "name": "rewardDebt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11660, - "src": "665:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "665:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UserInfo", - "nodeType": "StructDefinition", - "scope": 12822, - "src": "570:777:43", - "visibility": "public" - }, - { - "canonicalName": "DODOMine.PoolInfo", - "id": 11669, - "members": [ - { - "constant": false, - "id": 11662, - "mutability": "mutable", - "name": "lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1405:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1405:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11664, - "mutability": "mutable", - "name": "allocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1463:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1463:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11666, - "mutability": "mutable", - "name": "lastRewardBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1575:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1575:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11668, - "mutability": "mutable", - "name": "accDODOPerShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1661:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1661:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "PoolInfo", - "nodeType": "StructDefinition", - "scope": 12822, - "src": "1379:367:43", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9599af13", - "id": 11671, - "mutability": "mutable", - "name": "dodoRewardVault", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1752:30:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1752:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8af70336", - "id": 11673, - "mutability": "mutable", - "name": "dodoPerBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1788:27:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1788:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "689d84e4", - "id": 11676, - "mutability": "mutable", - "name": "poolInfos", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1848:27:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 11674, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "1848:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "id": 11675, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1848:10:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage_ptr", - "typeString": "struct DODOMine.PoolInfo[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3d16433e", - "id": 11680, - "mutability": "mutable", - "name": "lpTokenRegistry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1881:50:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 11679, - "keyType": { - "id": 11677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1889:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1881:27:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 11678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1900:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "93f1a40b", - "id": 11686, - "mutability": "mutable", - "name": "userInfo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1986:64:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo))" - }, - "typeName": { - "id": 11685, - "keyType": { - "id": 11681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1994:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1986:48:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo))" - }, - "valueType": { - "id": 11684, - "keyType": { - "id": 11682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2013:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2005:28:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo)" - }, - "valueType": { - "contractScope": null, - "id": 11683, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "2024:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ec83a76a", - "id": 11690, - "mutability": "mutable", - "name": "realizedReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "2056:49:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 11689, - "keyType": { - "id": 11687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2064:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2056:27:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 11688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2075:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "17caf6f1", - "id": 11693, - "mutability": "mutable", - "name": "totalAllocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "2199:34:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2199:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 11692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2232:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "48cd4cb1", - "id": 11695, - "mutability": "mutable", - "name": "startBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "2288:25:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2288:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 11703, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 11702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11697, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11703, - "src": "2334:20:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11696, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2334:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11699, - "indexed": true, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11703, - "src": "2356:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2356:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11701, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11703, - "src": "2377:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2377:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2333:59:43" - }, - "src": "2320:73:43" - }, - { - "anonymous": false, - "documentation": null, - "id": 11711, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 11710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11705, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11711, - "src": "2413:20:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2413:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11707, - "indexed": true, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11711, - "src": "2435:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2435:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11709, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11711, - "src": "2456:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2456:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2412:59:43" - }, - "src": "2398:74:43" - }, - { - "anonymous": false, - "documentation": null, - "id": 11717, - "name": "Claim", - "nodeType": "EventDefinition", - "parameters": { - "id": 11716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11713, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11717, - "src": "2489:20:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2489:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11715, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11717, - "src": "2511:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2511:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2488:38:43" - }, - "src": "2477:50:43" - }, - { - "body": { - "id": 11738, - "nodeType": "Block", - "src": "2593:109:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11724, - "name": "dodoRewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11671, - "src": "2603:15:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11729, - "name": "_dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11719, - "src": "2649:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2629:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODORewardVault_$12998_$", - "typeString": "function (address) returns (contract DODORewardVault)" - }, - "typeName": { - "contractScope": null, - "id": 11727, - "name": "DODORewardVault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12998, - "src": "2633:15:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODORewardVault_$12998", - "typeString": "contract DODORewardVault" - } - } - }, - "id": 11730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2629:31:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODORewardVault_$12998", - "typeString": "contract DODORewardVault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODORewardVault_$12998", - "typeString": "contract DODORewardVault" - } - ], - "id": 11726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2621:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2621:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2621:40:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2603:58:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11733, - "nodeType": "ExpressionStatement", - "src": "2603:58:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11734, - "name": "startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11695, - "src": "2671:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11735, - "name": "_startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11721, - "src": "2684:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2671:24:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11737, - "nodeType": "ExpressionStatement", - "src": "2671:24:43" - } - ] - }, - "documentation": null, - "id": 11739, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11719, - "mutability": "mutable", - "name": "_dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11739, - "src": "2545:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2545:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11721, - "mutability": "mutable", - "name": "_startBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11739, - "src": "2565:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2565:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2544:41:43" - }, - "returnParameters": { - "id": 11723, - "nodeType": "ParameterList", - "parameters": [], - "src": "2593:0:43" - }, - "scope": 12822, - "src": "2533:169:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11753, - "nodeType": "Block", - "src": "2791:87:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11744, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "2809:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11746, - "indexExpression": { - "argumentTypes": null, - "id": 11745, - "name": "lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11741, - "src": "2825:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2809:24:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2836:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2809:28:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c5020546f6b656e204e6f74204578697374", - "id": 11749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2839:20:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d66678012b5affca3d9727e8b7ea6591ac507d36b508c35b6405e4b76dfc67ac", - "typeString": "literal_string \"LP Token Not Exist\"" - }, - "value": "LP Token Not Exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d66678012b5affca3d9727e8b7ea6591ac507d36b508c35b6405e4b76dfc67ac", - "typeString": "literal_string \"LP Token Not Exist\"" - } - ], - "id": 11743, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2801:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2801:59:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11751, - "nodeType": "ExpressionStatement", - "src": "2801:59:43" - }, - { - "id": 11752, - "nodeType": "PlaceholderStatement", - "src": "2870:1:43" - } - ] - }, - "documentation": null, - "id": 11754, - "name": "lpTokenExist", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11741, - "mutability": "mutable", - "name": "lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11754, - "src": "2774:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11740, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2774:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2773:17:43" - }, - "src": "2752:126:43", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11768, - "nodeType": "Block", - "src": "2926:92:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11759, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "2944:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11761, - "indexExpression": { - "argumentTypes": null, - "id": 11760, - "name": "lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11756, - "src": "2960:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2944:24:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2972:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2944:29:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c5020546f6b656e20416c7265616479204578697374", - "id": 11764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2975:24:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6251c7bee25a31a23d0da97ca10d75b92968e9f3bcef7a6fc9dde9d1a7e1078", - "typeString": "literal_string \"LP Token Already Exist\"" - }, - "value": "LP Token Already Exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e6251c7bee25a31a23d0da97ca10d75b92968e9f3bcef7a6fc9dde9d1a7e1078", - "typeString": "literal_string \"LP Token Already Exist\"" - } - ], - "id": 11758, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2936:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2936:64:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11766, - "nodeType": "ExpressionStatement", - "src": "2936:64:43" - }, - { - "id": 11767, - "nodeType": "PlaceholderStatement", - "src": "3010:1:43" - } - ] - }, - "documentation": null, - "id": 11769, - "name": "lpTokenNotExist", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11756, - "mutability": "mutable", - "name": "lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11769, - "src": "2909:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2909:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2908:17:43" - }, - "src": "2884:134:43", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11777, - "nodeType": "Block", - "src": "3119:40:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11774, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "3136:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3136:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11773, - "id": 11776, - "nodeType": "Return", - "src": "3129:23:43" - } - ] - }, - "documentation": null, - "functionSelector": "081e3eda", - "id": 11778, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "poolLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11770, - "nodeType": "ParameterList", - "parameters": [], - "src": "3084:2:43" - }, - "returnParameters": { - "id": 11773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11772, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11778, - "src": "3110:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3110:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3109:9:43" - }, - "scope": 12822, - "src": "3065:94:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 11794, - "nodeType": "Block", - "src": "3252:53:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11788, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "3269:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11790, - "indexExpression": { - "argumentTypes": null, - "id": 11789, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11780, - "src": "3285:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3269:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3297:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3269:29:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11787, - "id": 11793, - "nodeType": "Return", - "src": "3262:36:43" - } - ] - }, - "documentation": null, - "functionSelector": "43b55f35", - "id": 11795, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11783, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11780, - "src": "3224:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 11784, - "modifierName": { - "argumentTypes": null, - "id": 11782, - "name": "lpTokenExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11754, - "src": "3211:12:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3211:22:43" - } - ], - "name": "getPid", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11780, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11795, - "src": "3181:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3181:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3180:18:43" - }, - "returnParameters": { - "id": 11787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11786, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11795, - "src": "3243:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3243:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3242:9:43" - }, - "scope": 12822, - "src": "3165:140:43", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11817, - "nodeType": "Block", - "src": "3400:91:43", - "statements": [ - { - "assignments": [ - 11805 - ], - "declarations": [ - { - "constant": false, - "id": 11805, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11817, - "src": "3410:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11804, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3410:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11809, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11807, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11797, - "src": "3431:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11806, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "3424:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3410:30:43" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11810, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "3457:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 11812, - "indexExpression": { - "argumentTypes": null, - "id": 11811, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11805, - "src": "3466:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3457:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 11814, - "indexExpression": { - "argumentTypes": null, - "id": 11813, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11799, - "src": "3471:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3457:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 11815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "3457:27:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11803, - "id": 11816, - "nodeType": "Return", - "src": "3450:34:43" - } - ] - }, - "documentation": null, - "functionSelector": "19a78f55", - "id": 11818, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserLpBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11797, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11818, - "src": "3337:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3337:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11799, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11818, - "src": "3355:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3355:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3336:33:43" - }, - "returnParameters": { - "id": 11803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11802, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11818, - "src": "3391:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3391:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3390:9:43" - }, - "scope": 12822, - "src": "3311:180:43", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11874, - "nodeType": "Block", - "src": "3689:512:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11832, - "name": "_withUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11824, - "src": "3703:11:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11837, - "nodeType": "IfStatement", - "src": "3699:59:43", - "trueBody": { - "id": 11836, - "nodeType": "Block", - "src": "3716:42:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11833, - "name": "massUpdatePools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "3730:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 11834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3730:17:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11835, - "nodeType": "ExpressionStatement", - "src": "3730:17:43" - } - ] - } - }, - { - "assignments": [ - 11839 - ], - "declarations": [ - { - "constant": false, - "id": 11839, - "mutability": "mutable", - "name": "lastRewardBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11874, - "src": "3767:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3767:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11848, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11840, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3793:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3793:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 11842, - "name": "startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11695, - "src": "3808:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3793:25:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11846, - "name": "startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11695, - "src": "3836:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3793:53:43", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11844, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3821:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3821:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3767:79:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11849, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "3856:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11852, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11822, - "src": "3894:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11850, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "3874:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3874:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3874:32:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3856:50:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11855, - "nodeType": "ExpressionStatement", - "src": "3856:50:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11860, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "3980:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11861, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11822, - "src": "4018:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 11862, - "name": "lastRewardBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11839, - "src": "4064:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 11863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4114:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11859, - "name": "PoolInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11669, - "src": "3944:8:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PoolInfo_$11669_storage_ptr_$", - "typeString": "type(struct DODOMine.PoolInfo storage pointer)" - } - }, - "id": 11864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "lpToken", - "allocPoint", - "lastRewardBlock", - "accDODOPerShare" - ], - "nodeType": "FunctionCall", - "src": "3944:186:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_memory_ptr", - "typeString": "struct DODOMine.PoolInfo memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_PoolInfo_$11669_memory_ptr", - "typeString": "struct DODOMine.PoolInfo memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11856, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "3916:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3916:14:43", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PoolInfo_$11669_storage_$returns$__$", - "typeString": "function (struct DODOMine.PoolInfo storage ref)" - } - }, - "id": 11865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3916:224:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11866, - "nodeType": "ExpressionStatement", - "src": "3916:224:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11867, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "4150:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11869, - "indexExpression": { - "argumentTypes": null, - "id": 11868, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "4166:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4150:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11870, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "4178:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4178:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4150:44:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11873, - "nodeType": "ExpressionStatement", - "src": "4150:44:43" - } - ] - }, - "documentation": null, - "functionSelector": "bea006e0", - "id": 11875, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11827, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "3669:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 11828, - "modifierName": { - "argumentTypes": null, - "id": 11826, - "name": "lpTokenNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11769, - "src": "3653:15:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3653:25:43" - }, - { - "arguments": null, - "id": 11830, - "modifierName": { - "argumentTypes": null, - "id": 11829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "3679:9:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3679:9:43" - } - ], - "name": "addLpToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11820, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11875, - "src": "3568:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3568:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11822, - "mutability": "mutable", - "name": "_allocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11875, - "src": "3594:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3594:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11824, - "mutability": "mutable", - "name": "_withUpdate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11875, - "src": "3623:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11823, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3623:4:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3558:87:43" - }, - "returnParameters": { - "id": 11831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3689:0:43" - }, - "scope": 12822, - "src": "3539:662:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11918, - "nodeType": "Block", - "src": "4331:255:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11886, - "name": "_withUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11881, - "src": "4345:11:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11891, - "nodeType": "IfStatement", - "src": "4341:59:43", - "trueBody": { - "id": 11890, - "nodeType": "Block", - "src": "4358:42:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11887, - "name": "massUpdatePools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "4372:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 11888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4372:17:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11889, - "nodeType": "ExpressionStatement", - "src": "4372:17:43" - } - ] - } - }, - { - "assignments": [ - 11893 - ], - "declarations": [ - { - "constant": false, - "id": 11893, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11918, - "src": "4409:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4409:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11897, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11895, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11877, - "src": "4430:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11894, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "4423:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4423:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4409:30:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11898, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "4449:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11907, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11879, - "src": "4518:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11901, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "4487:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11903, - "indexExpression": { - "argumentTypes": null, - "id": 11902, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11893, - "src": "4497:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4487:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 11904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "4487:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11899, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "4467:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4467:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4467:46:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4467:50:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4467:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4449:81:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11910, - "nodeType": "ExpressionStatement", - "src": "4449:81:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11911, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "4540:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11913, - "indexExpression": { - "argumentTypes": null, - "id": 11912, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11893, - "src": "4550:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4540:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 11914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "4540:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11915, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11879, - "src": "4568:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4540:39:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11917, - "nodeType": "ExpressionStatement", - "src": "4540:39:43" - } - ] - }, - "documentation": null, - "functionSelector": "34ea5389", - "id": 11919, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11884, - "modifierName": { - "argumentTypes": null, - "id": 11883, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4321:9:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4321:9:43" - } - ], - "name": "setLpToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11882, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11877, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11919, - "src": "4236:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11876, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4236:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11879, - "mutability": "mutable", - "name": "_allocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11919, - "src": "4262:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4262:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11881, - "mutability": "mutable", - "name": "_withUpdate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11919, - "src": "4291:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11880, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4291:4:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4226:87:43" - }, - "returnParameters": { - "id": 11885, - "nodeType": "ParameterList", - "parameters": [], - "src": "4331:0:43" - }, - "scope": 12822, - "src": "4207:379:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11938, - "nodeType": "Block", - "src": "4671:113:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11928, - "name": "_withUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11923, - "src": "4685:11:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11933, - "nodeType": "IfStatement", - "src": "4681:59:43", - "trueBody": { - "id": 11932, - "nodeType": "Block", - "src": "4698:42:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11929, - "name": "massUpdatePools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "4712:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 11930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4712:17:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11931, - "nodeType": "ExpressionStatement", - "src": "4712:17:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 11936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11934, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "4749:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11935, - "name": "_dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11921, - "src": "4764:13:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4749:28:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11937, - "nodeType": "ExpressionStatement", - "src": "4749:28:43" - } - ] - }, - "documentation": null, - "functionSelector": "7f10179f", - "id": 11939, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11926, - "modifierName": { - "argumentTypes": null, - "id": 11925, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4661:9:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4661:9:43" - } - ], - "name": "setReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11921, - "mutability": "mutable", - "name": "_dodoPerBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11939, - "src": "4611:21:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4611:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11923, - "mutability": "mutable", - "name": "_withUpdate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11939, - "src": "4634:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11922, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4634:4:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4610:41:43" - }, - "returnParameters": { - "id": 11927, - "nodeType": "ParameterList", - "parameters": [], - "src": "4671:0:43" - }, - "scope": 12822, - "src": "4592:192:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12038, - "nodeType": "Block", - "src": "4928:753:43", - "statements": [ - { - "assignments": [ - 11949 - ], - "declarations": [ - { - "constant": false, - "id": 11949, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "4938:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4938:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11953, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11951, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11941, - "src": "4959:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11950, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "4952:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4952:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4938:30:43" - }, - { - "assignments": [ - 11955 - ], - "declarations": [ - { - "constant": false, - "id": 11955, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "4978:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 11954, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "4978:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11959, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11956, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "5002:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11958, - "indexExpression": { - "argumentTypes": null, - "id": 11957, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "5012:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5002:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4978:38:43" - }, - { - "assignments": [ - 11961 - ], - "declarations": [ - { - "constant": false, - "id": 11961, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "5026:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 11960, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "5026:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11967, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11962, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "5050:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 11964, - "indexExpression": { - "argumentTypes": null, - "id": 11963, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "5059:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5050:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 11966, - "indexExpression": { - "argumentTypes": null, - "id": 11965, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11943, - "src": "5064:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5050:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5026:44:43" - }, - { - "assignments": [ - 11969 - ], - "declarations": [ - { - "constant": false, - "id": 11969, - "mutability": "mutable", - "name": "accDODOPerShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "5080:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5080:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11972, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11970, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5106:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 11971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "5106:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5080:46:43" - }, - { - "assignments": [ - 11974 - ], - "declarations": [ - { - "constant": false, - "id": 11974, - "mutability": "mutable", - "name": "lpSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "5136:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5136:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11985, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11982, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5194:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 11981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5186:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5186:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5186:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11976, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5162:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 11977, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "5162:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11975, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5155:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 11978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5155:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "5155:30:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 11984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5155:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5136:64:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11986, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5214:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5214:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11988, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5229:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 11989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "5229:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5214:35:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11991, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11974, - "src": "5253:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5265:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5253:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5214:52:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12026, - "nodeType": "IfStatement", - "src": "5210:382:43", - "trueBody": { - "id": 12025, - "nodeType": "Block", - "src": "5268:324:43", - "statements": [ - { - "assignments": [ - 11996 - ], - "declarations": [ - { - "constant": false, - "id": 11996, - "mutability": "mutable", - "name": "DODOReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12025, - "src": "5282:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12013, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12011, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "5470:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12007, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5432:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "5432:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12004, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "5397:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12000, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5354:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "5354:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11997, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5303:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5303:29:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5303:50:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:72:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5303:93:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:107:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5303:128:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:145:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5303:166:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:183:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5282:204:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12014, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11969, - "src": "5500:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12019, - "name": "DODOReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11996, - "src": "5559:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12020, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11974, - "src": "5571:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12017, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5538:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "5538:20:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5538:42:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12015, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11969, - "src": "5518:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5518:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5518:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5500:81:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12024, - "nodeType": "ExpressionStatement", - "src": "5500:81:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12034, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11961, - "src": "5658:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12035, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "5658:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12029, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11961, - "src": "5624:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "5624:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12031, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11969, - "src": "5637:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12027, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5608:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "5608:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5608:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5608:49:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5608:66:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11947, - "id": 12037, - "nodeType": "Return", - "src": "5601:73:43" - } - ] - }, - "documentation": null, - "functionSelector": "fe0f3a13", - "id": 12039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPendingReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11941, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12039, - "src": "4863:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4863:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11943, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12039, - "src": "4881:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4881:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4862:33:43" - }, - "returnParameters": { - "id": 11947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11946, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12039, - "src": "4919:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4919:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4918:9:43" - }, - "scope": 12822, - "src": "4837:844:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12176, - "nodeType": "Block", - "src": "5763:1128:43", - "statements": [ - { - "assignments": [ - 12047 - ], - "declarations": [ - { - "constant": false, - "id": 12047, - "mutability": "mutable", - "name": "length", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12176, - "src": "5773:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5773:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12050, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12048, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "5790:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5790:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5773:33:43" - }, - { - "assignments": [ - 12052 - ], - "declarations": [ - { - "constant": false, - "id": 12052, - "mutability": "mutable", - "name": "totalReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12176, - "src": "5816:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5816:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12054, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5838:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5816:23:43" - }, - { - "body": { - "id": 12172, - "nodeType": "Block", - "src": "5892:965:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12065, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "5910:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12067, - "indexExpression": { - "argumentTypes": null, - "id": 12066, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5919:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5910:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12069, - "indexExpression": { - "argumentTypes": null, - "id": 12068, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12041, - "src": "5924:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5910:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 12070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "5910:27:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5941:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5910:32:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12073, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "5946:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12075, - "indexExpression": { - "argumentTypes": null, - "id": 12074, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5956:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5946:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 12076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "5946:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5975:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5946:30:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5910:66:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12082, - "nodeType": "IfStatement", - "src": "5906:125:43", - "trueBody": { - "id": 12081, - "nodeType": "Block", - "src": "5978:53:43", - "statements": [ - { - "id": 12080, - "nodeType": "Continue", - "src": "5996:8:43" - } - ] - } - }, - { - "assignments": [ - 12084 - ], - "declarations": [ - { - "constant": false, - "id": 12084, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6044:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12083, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "6044:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12088, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12085, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "6068:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12087, - "indexExpression": { - "argumentTypes": null, - "id": 12086, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "6078:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6068:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6044:38:43" - }, - { - "assignments": [ - 12090 - ], - "declarations": [ - { - "constant": false, - "id": 12090, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6096:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12089, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "6096:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12096, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12091, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "6120:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12093, - "indexExpression": { - "argumentTypes": null, - "id": 12092, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "6129:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6120:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12095, - "indexExpression": { - "argumentTypes": null, - "id": 12094, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12041, - "src": "6134:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6120:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6096:44:43" - }, - { - "assignments": [ - 12098 - ], - "declarations": [ - { - "constant": false, - "id": 12098, - "mutability": "mutable", - "name": "accDODOPerShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6154:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6154:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12101, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12099, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6180:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "6180:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6154:46:43" - }, - { - "assignments": [ - 12103 - ], - "declarations": [ - { - "constant": false, - "id": 12103, - "mutability": "mutable", - "name": "lpSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6214:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6214:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12114, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12111, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6272:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 12110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6264:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6264:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6264:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12105, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6240:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "6240:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12104, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6233:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6233:30:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 12113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6214:64:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12115, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6296:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6296:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12117, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6311:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "6311:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6296:35:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12120, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12103, - "src": "6335:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6347:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6296:52:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12155, - "nodeType": "IfStatement", - "src": "6292:414:43", - "trueBody": { - "id": 12154, - "nodeType": "Block", - "src": "6350:356:43", - "statements": [ - { - "assignments": [ - 12125 - ], - "declarations": [ - { - "constant": false, - "id": 12125, - "mutability": "mutable", - "name": "DODOReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12154, - "src": "6368:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6368:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12142, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12140, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "6576:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12136, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6534:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12137, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "6534:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12133, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "6495:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12129, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6448:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "6448:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12126, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6389:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6389:33:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6389:58:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:80:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "6389:105:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:119:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "6389:144:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:161:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "6389:186:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:203:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6368:224:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12143, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12098, - "src": "6610:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12148, - "name": "DODOReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12125, - "src": "6669:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12149, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12103, - "src": "6681:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12146, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6648:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "6648:20:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6648:42:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12144, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12098, - "src": "6628:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6628:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6628:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6610:81:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12153, - "nodeType": "ExpressionStatement", - "src": "6610:81:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 12170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12156, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "6719:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12166, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12090, - "src": "6816:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "6816:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12161, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12090, - "src": "6782:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "6782:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12163, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12098, - "src": "6795:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12159, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6766:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "6766:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6766:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6766:49:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6766:66:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12157, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "6733:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6733:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6733:113:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6719:127:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12171, - "nodeType": "ExpressionStatement", - "src": "6719:127:43" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12059, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5871:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12060, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12047, - "src": "5877:6:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5871:12:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12173, - "initializationExpression": { - "assignments": [ - 12056 - ], - "declarations": [ - { - "constant": false, - "id": 12056, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12173, - "src": "5854:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5854:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12058, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5868:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5854:15:43" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 12063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "5885:5:43", - "subExpression": { - "argumentTypes": null, - "id": 12062, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5887:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12064, - "nodeType": "ExpressionStatement", - "src": "5885:5:43" - }, - "nodeType": "ForStatement", - "src": "5849:1008:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12174, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "6873:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 12045, - "id": 12175, - "nodeType": "Return", - "src": "6866:18:43" - } - ] - }, - "documentation": null, - "functionSelector": "f146b809", - "id": 12177, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAllPendingReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12041, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12177, - "src": "5716:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5716:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5715:15:43" - }, - "returnParameters": { - "id": 12045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12044, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12177, - "src": "5754:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5754:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5753:9:43" - }, - "scope": 12822, - "src": "5687:1204:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12188, - "nodeType": "Block", - "src": "6971:45:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12184, - "name": "realizedReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11690, - "src": "6988:14:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12186, - "indexExpression": { - "argumentTypes": null, - "id": 12185, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "7003:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6988:21:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 12183, - "id": 12187, - "nodeType": "Return", - "src": "6981:28:43" - } - ] - }, - "documentation": null, - "functionSelector": "6dc2cc8c", - "id": 12189, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRealizedReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12180, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12179, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12189, - "src": "6924:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6924:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6923:15:43" - }, - "returnParameters": { - "id": 12183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12182, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12189, - "src": "6962:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6962:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6961:9:43" - }, - "scope": 12822, - "src": "6897:119:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12217, - "nodeType": "Block", - "src": "7099:166:43", - "statements": [ - { - "assignments": [ - 12197 - ], - "declarations": [ - { - "constant": false, - "id": 12197, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12217, - "src": "7109:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7109:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12201, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12199, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12191, - "src": "7130:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12198, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "7123:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7123:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7109:30:43" - }, - { - "assignments": [ - 12203 - ], - "declarations": [ - { - "constant": false, - "id": 12203, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12217, - "src": "7149:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12202, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "7149:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12207, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12204, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "7173:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12206, - "indexExpression": { - "argumentTypes": null, - "id": 12205, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "7183:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7173:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7149:38:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12214, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "7242:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12210, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12203, - "src": "7221:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "7221:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12208, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "7204:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "7204:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7204:33:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "7204:37:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7204:54:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 12195, - "id": 12216, - "nodeType": "Return", - "src": "7197:61:43" - } - ] - }, - "documentation": null, - "functionSelector": "fb7276f4", - "id": 12218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDlpMiningSpeed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12191, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12218, - "src": "7049:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7049:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7048:18:43" - }, - "returnParameters": { - "id": 12195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12194, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12218, - "src": "7090:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7090:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7089:9:43" - }, - "scope": 12822, - "src": "7022:243:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12242, - "nodeType": "Block", - "src": "7426:142:43", - "statements": [ - { - "assignments": [ - 12222 - ], - "declarations": [ - { - "constant": false, - "id": 12222, - "mutability": "mutable", - "name": "length", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12242, - "src": "7436:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7436:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12225, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12223, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "7453:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7453:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7436:33:43" - }, - { - "body": { - "id": 12240, - "nodeType": "Block", - "src": "7522:40:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12237, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12227, - "src": "7547:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12236, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "7536:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7536:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12239, - "nodeType": "ExpressionStatement", - "src": "7536:15:43" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12230, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12227, - "src": "7501:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12231, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12222, - "src": "7507:6:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7501:12:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12241, - "initializationExpression": { - "assignments": [ - 12227 - ], - "declarations": [ - { - "constant": false, - "id": 12227, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12241, - "src": "7484:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7484:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12229, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7498:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7484:15:43" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 12234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "7515:5:43", - "subExpression": { - "argumentTypes": null, - "id": 12233, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12227, - "src": "7517:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12235, - "nodeType": "ExpressionStatement", - "src": "7515:5:43" - }, - "nodeType": "ForStatement", - "src": "7479:83:43" - } - ] - }, - "documentation": null, - "functionSelector": "630b5ba1", - "id": 12243, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "massUpdatePools", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12219, - "nodeType": "ParameterList", - "parameters": [], - "src": "7416:2:43" - }, - "returnParameters": { - "id": 12220, - "nodeType": "ParameterList", - "parameters": [], - "src": "7426:0:43" - }, - "scope": 12822, - "src": "7392:176:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12328, - "nodeType": "Block", - "src": "7682:660:43", - "statements": [ - { - "assignments": [ - 12249 - ], - "declarations": [ - { - "constant": false, - "id": 12249, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12328, - "src": "7692:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12248, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "7692:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12253, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12250, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "7716:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12252, - "indexExpression": { - "argumentTypes": null, - "id": 12251, - "name": "_pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12245, - "src": "7726:4:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7716:15:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7692:39:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12254, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7745:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7745:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12256, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "7761:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "7761:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7745:36:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12261, - "nodeType": "IfStatement", - "src": "7741:73:43", - "trueBody": { - "id": 12260, - "nodeType": "Block", - "src": "7783:31:43", - "statements": [ - { - "expression": null, - "functionReturnParameters": 12247, - "id": 12259, - "nodeType": "Return", - "src": "7797:7:43" - } - ] - } - }, - { - "assignments": [ - 12263 - ], - "declarations": [ - { - "constant": false, - "id": 12263, - "mutability": "mutable", - "name": "lpSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12328, - "src": "7823:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7823:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12274, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12271, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7881:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 12270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7873:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12269, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7873:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7873:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12265, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "7849:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "7849:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12264, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7842:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7842:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7842:30:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 12273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7842:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7823:64:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12275, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12263, - "src": "7901:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7913:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7901:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12287, - "nodeType": "IfStatement", - "src": "7897:99:43", - "trueBody": { - "id": 12286, - "nodeType": "Block", - "src": "7916:80:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12278, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "7930:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "7930:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7953:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7953:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7930:35:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12284, - "nodeType": "ExpressionStatement", - "src": "7930:35:43" - }, - { - "expression": null, - "functionReturnParameters": 12247, - "id": 12285, - "nodeType": "Return", - "src": "7979:7:43" - } - ] - } - }, - { - "assignments": [ - 12289 - ], - "declarations": [ - { - "constant": false, - "id": 12289, - "mutability": "mutable", - "name": "DODOReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12328, - "src": "8005:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8005:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12306, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12304, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "8173:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12300, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8139:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "8139:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12297, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "8108:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12293, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8069:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "8069:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12290, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8026:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8026:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8026:42:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:64:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "8026:81:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:95:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "8026:112:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:129:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "8026:146:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:163:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8005:184:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12307, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8199:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "8199:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12315, - "name": "DODOReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12289, - "src": "8268:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12316, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12263, - "src": "8280:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12313, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8247:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "8247:20:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8247:42:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12310, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8222:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "8222:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "8222:24:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8222:68:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8199:91:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12320, - "nodeType": "ExpressionStatement", - "src": "8199:91:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12321, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8300:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "8300:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12324, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8323:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8323:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8300:35:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12327, - "nodeType": "ExpressionStatement", - "src": "8300:35:43" - } - ] - }, - "documentation": null, - "functionSelector": "51eb05a6", - "id": 12329, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updatePool", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12245, - "mutability": "mutable", - "name": "_pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12329, - "src": "7661:12:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7661:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7660:14:43" - }, - "returnParameters": { - "id": 12247, - "nodeType": "ParameterList", - "parameters": [], - "src": "7682:0:43" - }, - "scope": 12822, - "src": "7641:701:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12433, - "nodeType": "Block", - "src": "8518:670:43", - "statements": [ - { - "assignments": [ - 12337 - ], - "declarations": [ - { - "constant": false, - "id": 12337, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12433, - "src": "8528:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8528:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12341, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12339, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12331, - "src": "8549:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12338, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "8542:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8542:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8528:30:43" - }, - { - "assignments": [ - 12343 - ], - "declarations": [ - { - "constant": false, - "id": 12343, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12433, - "src": "8568:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12342, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "8568:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12347, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12344, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "8592:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12346, - "indexExpression": { - "argumentTypes": null, - "id": 12345, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "8602:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8592:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8568:38:43" - }, - { - "assignments": [ - 12349 - ], - "declarations": [ - { - "constant": false, - "id": 12349, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12433, - "src": "8616:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12348, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "8616:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12356, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12350, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "8640:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12352, - "indexExpression": { - "argumentTypes": null, - "id": 12351, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "8649:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8640:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12355, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12353, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8654:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8654:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8640:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8616:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12358, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "8686:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12357, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "8675:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8675:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12360, - "nodeType": "ExpressionStatement", - "src": "8675:15:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12361, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "8704:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "8704:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8718:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8704:15:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12386, - "nodeType": "IfStatement", - "src": "8700:216:43", - "trueBody": { - "id": 12385, - "nodeType": "Block", - "src": "8721:195:43", - "statements": [ - { - "assignments": [ - 12366 - ], - "declarations": [ - { - "constant": false, - "id": 12366, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12385, - "src": "8735:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8735:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12378, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12375, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "8825:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12376, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "8825:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12369, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "8769:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12370, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "8769:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12371, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12343, - "src": "8782:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "8782:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12367, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8753:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "8753:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8753:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8753:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8753:101:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8735:119:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12380, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8885:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8885:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12382, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12366, - "src": "8897:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12379, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "8868:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8868:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12384, - "nodeType": "ExpressionStatement", - "src": "8868:37:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12394, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8971:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8971:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8963:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8963:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8963:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12399, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8992:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 12398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8984:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12397, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8984:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8984:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12401, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12333, - "src": "8999:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12388, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12343, - "src": "8932:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12389, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "8932:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12387, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "8925:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8925:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "8925:37:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 12402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8925:82:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12403, - "nodeType": "ExpressionStatement", - "src": "8925:82:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12404, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9017:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9017:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12410, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12333, - "src": "9047:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12407, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9031:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9031:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "9031:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9031:24:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9017:38:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12413, - "nodeType": "ExpressionStatement", - "src": "9017:38:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12414, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9065:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12416, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "9065:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12419, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9099:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9099:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12421, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12343, - "src": "9112:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "9112:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12417, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "9083:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "9083:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9083:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9065:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12425, - "nodeType": "ExpressionStatement", - "src": "9065:68:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12427, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9156:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9156:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12429, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "9168:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12430, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12333, - "src": "9173:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12426, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11703, - "src": "9148:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 12431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9148:33:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12432, - "nodeType": "EmitStatement", - "src": "9143:38:43" - } - ] - }, - "documentation": null, - "functionSelector": "47e7ef24", - "id": 12434, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12331, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12434, - "src": "8476:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8476:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12333, - "mutability": "mutable", - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12434, - "src": "8494:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8494:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8475:35:43" - }, - "returnParameters": { - "id": 12335, - "nodeType": "ParameterList", - "parameters": [], - "src": "8518:0:43" - }, - "scope": 12822, - "src": "8459:729:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12536, - "nodeType": "Block", - "src": "9254:635:43", - "statements": [ - { - "assignments": [ - 12442 - ], - "declarations": [ - { - "constant": false, - "id": 12442, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9264:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9264:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12446, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12444, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12436, - "src": "9285:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12443, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "9278:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9278:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9264:30:43" - }, - { - "assignments": [ - 12448 - ], - "declarations": [ - { - "constant": false, - "id": 12448, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9304:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12447, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "9304:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12452, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12449, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "9328:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12451, - "indexExpression": { - "argumentTypes": null, - "id": 12450, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9338:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9328:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9304:38:43" - }, - { - "assignments": [ - 12454 - ], - "declarations": [ - { - "constant": false, - "id": 12454, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9352:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12453, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "9352:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12461, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12455, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "9376:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12457, - "indexExpression": { - "argumentTypes": null, - "id": 12456, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9385:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9376:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12460, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12458, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9390:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9390:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9376:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9352:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12463, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9419:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9419:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12465, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9434:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9419:22:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "776974686472617720746f6f206d756368", - "id": 12467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9443:19:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c36bb679920b61b680a8b24a18ff078642b393d25605ff3a7616b83483e73b38", - "typeString": "literal_string \"withdraw too much\"" - }, - "value": "withdraw too much" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c36bb679920b61b680a8b24a18ff078642b393d25605ff3a7616b83483e73b38", - "typeString": "literal_string \"withdraw too much\"" - } - ], - "id": 12462, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9411:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9411:52:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12469, - "nodeType": "ExpressionStatement", - "src": "9411:52:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12471, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9484:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12470, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "9473:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9473:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12473, - "nodeType": "ExpressionStatement", - "src": "9473:15:43" - }, - { - "assignments": [ - 12475 - ], - "declarations": [ - { - "constant": false, - "id": 12475, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9498:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9498:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12487, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12484, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9571:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "9571:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12478, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9532:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9532:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12480, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "9545:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "9545:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12476, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "9516:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "9516:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9516:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "9516:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9516:71:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9498:89:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12489, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9614:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9614:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12491, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12475, - "src": "9626:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12488, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "9597:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9597:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12493, - "nodeType": "ExpressionStatement", - "src": "9597:37:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12494, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9644:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9644:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12500, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9674:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12497, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9658:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12498, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9658:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "9658:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9658:24:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9644:38:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12503, - "nodeType": "ExpressionStatement", - "src": "9644:38:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12504, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9692:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "9692:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12509, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9726:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12510, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9726:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12511, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "9739:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "9739:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12507, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "9710:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "9710:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9710:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9692:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12515, - "nodeType": "ExpressionStatement", - "src": "9692:68:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9812:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9812:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9804:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9804:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9804:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12526, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9825:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12517, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "9777:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "9777:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12516, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9770:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9770:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "9770:33:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9770:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12528, - "nodeType": "ExpressionStatement", - "src": "9770:63:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12530, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9857:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9857:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12532, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9869:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12533, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9874:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12529, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11711, - "src": "9848:8:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 12534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9848:34:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12535, - "nodeType": "EmitStatement", - "src": "9843:39:43" - } - ] - }, - "documentation": null, - "functionSelector": "f3fef3a3", - "id": 12537, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12436, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12537, - "src": "9212:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9212:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12438, - "mutability": "mutable", - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12537, - "src": "9230:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9230:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9211:35:43" - }, - "returnParameters": { - "id": 12440, - "nodeType": "ParameterList", - "parameters": [], - "src": "9254:0:43" - }, - "scope": 12822, - "src": "9194:695:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12555, - "nodeType": "Block", - "src": "9941:110:43", - "statements": [ - { - "assignments": [ - 12543 - ], - "declarations": [ - { - "constant": false, - "id": 12543, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12555, - "src": "9951:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9951:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12549, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12545, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12539, - "src": "9986:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12546, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9996:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9996:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12544, - "name": "getUserLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11818, - "src": "9969:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 12548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9969:38:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9951:56:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12551, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12539, - "src": "10026:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12552, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12543, - "src": "10036:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12550, - "name": "withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12537, - "src": "10017:8:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10017:27:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12554, - "nodeType": "ExpressionStatement", - "src": "10017:27:43" - } - ] - }, - "documentation": null, - "functionSelector": "fa09e630", - "id": 12556, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12539, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12556, - "src": "9916:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12538, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9916:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9915:18:43" - }, - "returnParameters": { - "id": 12541, - "nodeType": "ParameterList", - "parameters": [], - "src": "9941:0:43" - }, - "scope": 12822, - "src": "9895:156:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12608, - "nodeType": "Block", - "src": "10171:285:43", - "statements": [ - { - "assignments": [ - 12562 - ], - "declarations": [ - { - "constant": false, - "id": 12562, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12608, - "src": "10181:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10181:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12566, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12564, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12558, - "src": "10202:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12563, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "10195:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10195:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10181:30:43" - }, - { - "assignments": [ - 12568 - ], - "declarations": [ - { - "constant": false, - "id": 12568, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12608, - "src": "10221:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12567, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "10221:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12572, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12569, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "10245:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12571, - "indexExpression": { - "argumentTypes": null, - "id": 12570, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12562, - "src": "10255:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10245:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10221:38:43" - }, - { - "assignments": [ - 12574 - ], - "declarations": [ - { - "constant": false, - "id": 12574, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12608, - "src": "10269:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12573, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "10269:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12581, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12575, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "10293:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12577, - "indexExpression": { - "argumentTypes": null, - "id": 12576, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12562, - "src": "10302:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10293:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12580, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10307:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10307:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10293:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10269:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10370:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10370:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10362:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12587, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10362:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10362:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12592, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12574, - "src": "10383:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10383:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12583, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12568, - "src": "10335:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "10335:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12582, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10328:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10328:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "10328:33:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10328:67:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12595, - "nodeType": "ExpressionStatement", - "src": "10328:67:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12596, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12574, - "src": "10405:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10405:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 12599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10419:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10405:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12601, - "nodeType": "ExpressionStatement", - "src": "10405:15:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12602, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12574, - "src": "10430:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "10430:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 12605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10448:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10430:19:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12607, - "nodeType": "ExpressionStatement", - "src": "10430:19:43" - } - ] - }, - "documentation": null, - "functionSelector": "6ff1c9bc", - "id": 12609, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "emergencyWithdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12559, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12558, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12609, - "src": "10146:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10146:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10145:18:43" - }, - "returnParameters": { - "id": 12560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10171:0:43" - }, - "scope": 12822, - "src": "10119:337:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12690, - "nodeType": "Block", - "src": "10502:532:43", - "statements": [ - { - "assignments": [ - 12615 - ], - "declarations": [ - { - "constant": false, - "id": 12615, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10512:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10512:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12619, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12617, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12611, - "src": "10533:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12616, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "10526:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10526:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10512:30:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12620, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "10556:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12622, - "indexExpression": { - "argumentTypes": null, - "id": 12621, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10565:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10556:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12625, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10570:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10570:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10556:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 12626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10556:32:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10592:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10556:37:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12629, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "10597:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12631, - "indexExpression": { - "argumentTypes": null, - "id": 12630, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10607:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10597:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 12632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "10597:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10626:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10597:30:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10556:71:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12638, - "nodeType": "IfStatement", - "src": "10552:120:43", - "trueBody": { - "id": 12637, - "nodeType": "Block", - "src": "10629:43:43", - "statements": [ - { - "expression": null, - "functionReturnParameters": 12613, - "id": 12636, - "nodeType": "Return", - "src": "10643:7:43" - } - ] - } - }, - { - "assignments": [ - 12640 - ], - "declarations": [ - { - "constant": false, - "id": 12640, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10681:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12639, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "10681:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12644, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12641, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "10705:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12643, - "indexExpression": { - "argumentTypes": null, - "id": 12642, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10715:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10705:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10681:38:43" - }, - { - "assignments": [ - 12646 - ], - "declarations": [ - { - "constant": false, - "id": 12646, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10729:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12645, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "10729:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12653, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12647, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "10753:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12649, - "indexExpression": { - "argumentTypes": null, - "id": 12648, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10762:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10753:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12652, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12650, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10767:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10767:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10753:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10729:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12655, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10799:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12654, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "10788:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10788:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12657, - "nodeType": "ExpressionStatement", - "src": "10788:15:43" - }, - { - "assignments": [ - 12659 - ], - "declarations": [ - { - "constant": false, - "id": 12659, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10813:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10813:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12671, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12668, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10886:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "10886:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12662, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10847:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10847:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12664, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "10860:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12665, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "10860:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12660, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "10831:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "10831:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10831:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10831:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10831:71:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10813:89:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12672, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10912:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12674, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "10912:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12677, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10946:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10946:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12679, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "10959:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "10959:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12675, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "10930:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "10930:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10930:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10912:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12683, - "nodeType": "ExpressionStatement", - "src": "10912:68:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12685, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11007:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11007:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12687, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12659, - "src": "11019:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12684, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "10990:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10990:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12689, - "nodeType": "ExpressionStatement", - "src": "10990:37:43" - } - ] - }, - "documentation": null, - "functionSelector": "1e83409a", - "id": 12691, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12611, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12691, - "src": "10477:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10477:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10476:18:43" - }, - "returnParameters": { - "id": 12613, - "nodeType": "ParameterList", - "parameters": [], - "src": "10502:0:43" - }, - "scope": 12822, - "src": "10462:572:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12788, - "nodeType": "Block", - "src": "11067:696:43", - "statements": [ - { - "assignments": [ - 12695 - ], - "declarations": [ - { - "constant": false, - "id": 12695, - "mutability": "mutable", - "name": "length", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12788, - "src": "11077:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11077:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12698, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12696, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "11094:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11094:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11077:33:43" - }, - { - "assignments": [ - 12700 - ], - "declarations": [ - { - "constant": false, - "id": 12700, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12788, - "src": "11120:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11120:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12702, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11138:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11120:19:43" - }, - { - "body": { - "id": 12780, - "nodeType": "Block", - "src": "11192:518:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12713, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "11210:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12715, - "indexExpression": { - "argumentTypes": null, - "id": 12714, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11219:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11210:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12718, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12716, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11224:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11224:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11210:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 12719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "11210:32:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11246:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11210:37:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12722, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "11251:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12724, - "indexExpression": { - "argumentTypes": null, - "id": 12723, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11261:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11251:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 12725, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "11251:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11280:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11251:30:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11210:71:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12731, - "nodeType": "IfStatement", - "src": "11206:130:43", - "trueBody": { - "id": 12730, - "nodeType": "Block", - "src": "11283:53:43", - "statements": [ - { - "id": 12729, - "nodeType": "Continue", - "src": "11301:8:43" - } - ] - } - }, - { - "assignments": [ - 12733 - ], - "declarations": [ - { - "constant": false, - "id": 12733, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12780, - "src": "11349:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12732, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "11349:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12737, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12734, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "11373:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12736, - "indexExpression": { - "argumentTypes": null, - "id": 12735, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11383:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11373:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11349:38:43" - }, - { - "assignments": [ - 12739 - ], - "declarations": [ - { - "constant": false, - "id": 12739, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12780, - "src": "11401:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12738, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "11401:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12746, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12740, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "11425:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12742, - "indexExpression": { - "argumentTypes": null, - "id": 12741, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11434:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11425:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12745, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12743, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11439:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11439:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11425:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11401:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12748, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11475:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12747, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "11464:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11464:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12750, - "nodeType": "ExpressionStatement", - "src": "11464:15:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12751, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12700, - "src": "11493:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12762, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11587:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "11587:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12756, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11548:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "11548:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12758, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12733, - "src": "11561:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "11561:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12754, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "11532:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "11532:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11532:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "11532:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11532:71:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12752, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12700, - "src": "11503:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "11503:11:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11503:114:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11493:124:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12767, - "nodeType": "ExpressionStatement", - "src": "11493:124:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12768, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11631:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "11631:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12773, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11665:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12774, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "11665:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12775, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12733, - "src": "11678:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "11678:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12771, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "11649:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "11649:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11649:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11631:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12779, - "nodeType": "ExpressionStatement", - "src": "11631:68:43" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12707, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11171:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12708, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12695, - "src": "11177:6:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11171:12:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12781, - "initializationExpression": { - "assignments": [ - 12704 - ], - "declarations": [ - { - "constant": false, - "id": 12704, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12781, - "src": "11154:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11154:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12706, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11168:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11154:15:43" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 12711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11185:5:43", - "subExpression": { - "argumentTypes": null, - "id": 12710, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11187:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12712, - "nodeType": "ExpressionStatement", - "src": "11185:5:43" - }, - "nodeType": "ForStatement", - "src": "11149:561:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12783, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11736:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11736:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12785, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12700, - "src": "11748:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12782, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "11719:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11719:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12787, - "nodeType": "ExpressionStatement", - "src": "11719:37:43" - } - ] - }, - "documentation": null, - "functionSelector": "d1058e59", - "id": 12789, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12692, - "nodeType": "ParameterList", - "parameters": [], - "src": "11057:2:43" - }, - "returnParameters": { - "id": 12693, - "nodeType": "ParameterList", - "parameters": [], - "src": "11067:0:43" - }, - "scope": 12822, - "src": "11040:723:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12820, - "nodeType": "Block", - "src": "11869:169:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12800, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "11920:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12801, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12793, - "src": "11925:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12797, - "name": "dodoRewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11671, - "src": "11896:15:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12796, - "name": "IDODORewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12962, - "src": "11879:16:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODORewardVault_$12962_$", - "typeString": "type(contract IDODORewardVault)" - } - }, - "id": 12798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:33:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODORewardVault_$12962", - "typeString": "contract IDODORewardVault" - } - }, - "id": 12799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reward", - "nodeType": "MemberAccess", - "referencedDeclaration": 12961, - "src": "11879:40:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 12802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:54:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12803, - "nodeType": "ExpressionStatement", - "src": "11879:54:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12804, - "name": "realizedReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11690, - "src": "11943:14:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12806, - "indexExpression": { - "argumentTypes": null, - "id": 12805, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "11958:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11943:19:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12811, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12793, - "src": "11989:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12807, - "name": "realizedReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11690, - "src": "11965:14:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12809, - "indexExpression": { - "argumentTypes": null, - "id": 12808, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "11980:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11965:19:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "11965:23:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11965:32:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11943:54:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12814, - "nodeType": "ExpressionStatement", - "src": "11943:54:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12816, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "12018:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12817, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12793, - "src": "12023:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12815, - "name": "Claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11717, - "src": "12012:5:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12012:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12819, - "nodeType": "EmitStatement", - "src": "12007:24:43" - } - ] - }, - "documentation": null, - "id": 12821, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeDODOTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12791, - "mutability": "mutable", - "name": "_to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12821, - "src": "11830:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11830:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12793, - "mutability": "mutable", - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12821, - "src": "11843:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11843:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11829:30:43" - }, - "returnParameters": { - "id": 12795, - "nodeType": "ParameterList", - "parameters": [], - "src": "11869:0:43" - }, - "scope": 12822, - "src": "11804:234:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 12823, - "src": "444:11596:43" - } - ], - "src": "78:11963:43" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMine.sol", - "exportedSymbols": { - "DODOMine": [ - 12822 - ] - }, - "id": 12823, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11633, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:43" - }, - { - "id": 11634, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:43" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 11636, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11272, - "src": "136:43:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11635, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 11638, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11079, - "src": "180:51:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11637, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:11:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 11640, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11441, - "src": "232:47:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11639, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "240:9:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 11642, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 11624, - "src": "280:45:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11641, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "288:8:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 11644, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 10608, - "src": "326:42:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11643, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "334:6:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "file": "./DODORewardVault.sol", - "id": 11647, - "nodeType": "ImportDirective", - "scope": 12823, - "sourceUnit": 12999, - "src": "369:72:43", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11645, - "name": "IDODORewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "377:16:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - }, - { - "foreign": { - "argumentTypes": null, - "id": 11646, - "name": "DODORewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "395:15:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 11648, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "465:7:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 11649, - "nodeType": "InheritanceSpecifier", - "src": "465:7:43" - } - ], - "contractDependencies": [ - 11271, - 12998 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12822, - "linearizedBaseContracts": [ - 12822, - 11271 - ], - "name": "DODOMine", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11652, - "libraryName": { - "contractScope": null, - "id": 11650, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "485:8:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "479:27:43", - "typeName": { - "id": 11651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "498:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 11655, - "libraryName": { - "contractScope": null, - "id": 11653, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "517:9:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "511:27:43", - "typeName": { - "contractScope": null, - "id": 11654, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "531:6:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "canonicalName": "DODOMine.UserInfo", - "id": 11660, - "members": [ - { - "constant": false, - "id": 11657, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11660, - "src": "596:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11659, - "mutability": "mutable", - "name": "rewardDebt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11660, - "src": "665:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "665:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UserInfo", - "nodeType": "StructDefinition", - "scope": 12822, - "src": "570:777:43", - "visibility": "public" - }, - { - "canonicalName": "DODOMine.PoolInfo", - "id": 11669, - "members": [ - { - "constant": false, - "id": 11662, - "mutability": "mutable", - "name": "lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1405:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1405:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11664, - "mutability": "mutable", - "name": "allocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1463:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1463:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11666, - "mutability": "mutable", - "name": "lastRewardBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1575:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1575:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11668, - "mutability": "mutable", - "name": "accDODOPerShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11669, - "src": "1661:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1661:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "PoolInfo", - "nodeType": "StructDefinition", - "scope": 12822, - "src": "1379:367:43", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9599af13", - "id": 11671, - "mutability": "mutable", - "name": "dodoRewardVault", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1752:30:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1752:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8af70336", - "id": 11673, - "mutability": "mutable", - "name": "dodoPerBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1788:27:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1788:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "689d84e4", - "id": 11676, - "mutability": "mutable", - "name": "poolInfos", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1848:27:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 11674, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "1848:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "id": 11675, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1848:10:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage_ptr", - "typeString": "struct DODOMine.PoolInfo[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3d16433e", - "id": 11680, - "mutability": "mutable", - "name": "lpTokenRegistry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1881:50:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 11679, - "keyType": { - "id": 11677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1889:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1881:27:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 11678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1900:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "93f1a40b", - "id": 11686, - "mutability": "mutable", - "name": "userInfo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "1986:64:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo))" - }, - "typeName": { - "id": 11685, - "keyType": { - "id": 11681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1994:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1986:48:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo))" - }, - "valueType": { - "id": 11684, - "keyType": { - "id": 11682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2013:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2005:28:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo)" - }, - "valueType": { - "contractScope": null, - "id": 11683, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "2024:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ec83a76a", - "id": 11690, - "mutability": "mutable", - "name": "realizedReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "2056:49:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 11689, - "keyType": { - "id": 11687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2064:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2056:27:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 11688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2075:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "17caf6f1", - "id": 11693, - "mutability": "mutable", - "name": "totalAllocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "2199:34:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2199:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 11692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2232:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "48cd4cb1", - "id": 11695, - "mutability": "mutable", - "name": "startBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12822, - "src": "2288:25:43", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2288:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 11703, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 11702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11697, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11703, - "src": "2334:20:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11696, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2334:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11699, - "indexed": true, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11703, - "src": "2356:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2356:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11701, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11703, - "src": "2377:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2377:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2333:59:43" - }, - "src": "2320:73:43" - }, - { - "anonymous": false, - "documentation": null, - "id": 11711, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 11710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11705, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11711, - "src": "2413:20:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2413:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11707, - "indexed": true, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11711, - "src": "2435:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2435:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11709, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11711, - "src": "2456:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2456:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2412:59:43" - }, - "src": "2398:74:43" - }, - { - "anonymous": false, - "documentation": null, - "id": 11717, - "name": "Claim", - "nodeType": "EventDefinition", - "parameters": { - "id": 11716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11713, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11717, - "src": "2489:20:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2489:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11715, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11717, - "src": "2511:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2511:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2488:38:43" - }, - "src": "2477:50:43" - }, - { - "body": { - "id": 11738, - "nodeType": "Block", - "src": "2593:109:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11724, - "name": "dodoRewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11671, - "src": "2603:15:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11729, - "name": "_dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11719, - "src": "2649:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2629:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODORewardVault_$12998_$", - "typeString": "function (address) returns (contract DODORewardVault)" - }, - "typeName": { - "contractScope": null, - "id": 11727, - "name": "DODORewardVault", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 12998, - "src": "2633:15:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODORewardVault_$12998", - "typeString": "contract DODORewardVault" - } - } - }, - "id": 11730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2629:31:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODORewardVault_$12998", - "typeString": "contract DODORewardVault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODORewardVault_$12998", - "typeString": "contract DODORewardVault" - } - ], - "id": 11726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2621:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2621:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2621:40:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2603:58:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11733, - "nodeType": "ExpressionStatement", - "src": "2603:58:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11734, - "name": "startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11695, - "src": "2671:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11735, - "name": "_startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11721, - "src": "2684:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2671:24:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11737, - "nodeType": "ExpressionStatement", - "src": "2671:24:43" - } - ] - }, - "documentation": null, - "id": 11739, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11719, - "mutability": "mutable", - "name": "_dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11739, - "src": "2545:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2545:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11721, - "mutability": "mutable", - "name": "_startBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11739, - "src": "2565:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2565:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2544:41:43" - }, - "returnParameters": { - "id": 11723, - "nodeType": "ParameterList", - "parameters": [], - "src": "2593:0:43" - }, - "scope": 12822, - "src": "2533:169:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11753, - "nodeType": "Block", - "src": "2791:87:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11744, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "2809:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11746, - "indexExpression": { - "argumentTypes": null, - "id": 11745, - "name": "lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11741, - "src": "2825:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2809:24:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2836:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2809:28:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c5020546f6b656e204e6f74204578697374", - "id": 11749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2839:20:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d66678012b5affca3d9727e8b7ea6591ac507d36b508c35b6405e4b76dfc67ac", - "typeString": "literal_string \"LP Token Not Exist\"" - }, - "value": "LP Token Not Exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d66678012b5affca3d9727e8b7ea6591ac507d36b508c35b6405e4b76dfc67ac", - "typeString": "literal_string \"LP Token Not Exist\"" - } - ], - "id": 11743, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2801:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2801:59:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11751, - "nodeType": "ExpressionStatement", - "src": "2801:59:43" - }, - { - "id": 11752, - "nodeType": "PlaceholderStatement", - "src": "2870:1:43" - } - ] - }, - "documentation": null, - "id": 11754, - "name": "lpTokenExist", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11741, - "mutability": "mutable", - "name": "lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11754, - "src": "2774:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11740, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2774:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2773:17:43" - }, - "src": "2752:126:43", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11768, - "nodeType": "Block", - "src": "2926:92:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11759, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "2944:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11761, - "indexExpression": { - "argumentTypes": null, - "id": 11760, - "name": "lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11756, - "src": "2960:7:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2944:24:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2972:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2944:29:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c5020546f6b656e20416c7265616479204578697374", - "id": 11764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2975:24:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6251c7bee25a31a23d0da97ca10d75b92968e9f3bcef7a6fc9dde9d1a7e1078", - "typeString": "literal_string \"LP Token Already Exist\"" - }, - "value": "LP Token Already Exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e6251c7bee25a31a23d0da97ca10d75b92968e9f3bcef7a6fc9dde9d1a7e1078", - "typeString": "literal_string \"LP Token Already Exist\"" - } - ], - "id": 11758, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2936:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2936:64:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11766, - "nodeType": "ExpressionStatement", - "src": "2936:64:43" - }, - { - "id": 11767, - "nodeType": "PlaceholderStatement", - "src": "3010:1:43" - } - ] - }, - "documentation": null, - "id": 11769, - "name": "lpTokenNotExist", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11756, - "mutability": "mutable", - "name": "lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11769, - "src": "2909:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2909:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2908:17:43" - }, - "src": "2884:134:43", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11777, - "nodeType": "Block", - "src": "3119:40:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11774, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "3136:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3136:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11773, - "id": 11776, - "nodeType": "Return", - "src": "3129:23:43" - } - ] - }, - "documentation": null, - "functionSelector": "081e3eda", - "id": 11778, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "poolLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11770, - "nodeType": "ParameterList", - "parameters": [], - "src": "3084:2:43" - }, - "returnParameters": { - "id": 11773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11772, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11778, - "src": "3110:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3110:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3109:9:43" - }, - "scope": 12822, - "src": "3065:94:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 11794, - "nodeType": "Block", - "src": "3252:53:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11788, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "3269:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11790, - "indexExpression": { - "argumentTypes": null, - "id": 11789, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11780, - "src": "3285:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3269:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3297:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3269:29:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11787, - "id": 11793, - "nodeType": "Return", - "src": "3262:36:43" - } - ] - }, - "documentation": null, - "functionSelector": "43b55f35", - "id": 11795, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11783, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11780, - "src": "3224:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 11784, - "modifierName": { - "argumentTypes": null, - "id": 11782, - "name": "lpTokenExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11754, - "src": "3211:12:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3211:22:43" - } - ], - "name": "getPid", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11780, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11795, - "src": "3181:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3181:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3180:18:43" - }, - "returnParameters": { - "id": 11787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11786, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11795, - "src": "3243:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3243:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3242:9:43" - }, - "scope": 12822, - "src": "3165:140:43", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11817, - "nodeType": "Block", - "src": "3400:91:43", - "statements": [ - { - "assignments": [ - 11805 - ], - "declarations": [ - { - "constant": false, - "id": 11805, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11817, - "src": "3410:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11804, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3410:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11809, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11807, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11797, - "src": "3431:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11806, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "3424:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3410:30:43" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11810, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "3457:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 11812, - "indexExpression": { - "argumentTypes": null, - "id": 11811, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11805, - "src": "3466:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3457:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 11814, - "indexExpression": { - "argumentTypes": null, - "id": 11813, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11799, - "src": "3471:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3457:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 11815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "3457:27:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11803, - "id": 11816, - "nodeType": "Return", - "src": "3450:34:43" - } - ] - }, - "documentation": null, - "functionSelector": "19a78f55", - "id": 11818, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserLpBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11797, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11818, - "src": "3337:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3337:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11799, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11818, - "src": "3355:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3355:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3336:33:43" - }, - "returnParameters": { - "id": 11803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11802, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11818, - "src": "3391:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3391:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3390:9:43" - }, - "scope": 12822, - "src": "3311:180:43", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11874, - "nodeType": "Block", - "src": "3689:512:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11832, - "name": "_withUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11824, - "src": "3703:11:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11837, - "nodeType": "IfStatement", - "src": "3699:59:43", - "trueBody": { - "id": 11836, - "nodeType": "Block", - "src": "3716:42:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11833, - "name": "massUpdatePools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "3730:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 11834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3730:17:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11835, - "nodeType": "ExpressionStatement", - "src": "3730:17:43" - } - ] - } - }, - { - "assignments": [ - 11839 - ], - "declarations": [ - { - "constant": false, - "id": 11839, - "mutability": "mutable", - "name": "lastRewardBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11874, - "src": "3767:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3767:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11848, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11840, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3793:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3793:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 11842, - "name": "startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11695, - "src": "3808:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3793:25:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 11846, - "name": "startBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11695, - "src": "3836:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3793:53:43", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11844, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3821:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3821:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3767:79:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11849, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "3856:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11852, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11822, - "src": "3894:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11850, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "3874:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3874:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3874:32:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3856:50:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11855, - "nodeType": "ExpressionStatement", - "src": "3856:50:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11860, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "3980:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11861, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11822, - "src": "4018:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 11862, - "name": "lastRewardBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11839, - "src": "4064:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 11863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4114:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11859, - "name": "PoolInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11669, - "src": "3944:8:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PoolInfo_$11669_storage_ptr_$", - "typeString": "type(struct DODOMine.PoolInfo storage pointer)" - } - }, - "id": 11864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "lpToken", - "allocPoint", - "lastRewardBlock", - "accDODOPerShare" - ], - "nodeType": "FunctionCall", - "src": "3944:186:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_memory_ptr", - "typeString": "struct DODOMine.PoolInfo memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_PoolInfo_$11669_memory_ptr", - "typeString": "struct DODOMine.PoolInfo memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 11856, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "3916:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3916:14:43", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PoolInfo_$11669_storage_$returns$__$", - "typeString": "function (struct DODOMine.PoolInfo storage ref)" - } - }, - "id": 11865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3916:224:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11866, - "nodeType": "ExpressionStatement", - "src": "3916:224:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11867, - "name": "lpTokenRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11680, - "src": "4150:15:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11869, - "indexExpression": { - "argumentTypes": null, - "id": 11868, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "4166:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4150:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11870, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "4178:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4178:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4150:44:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11873, - "nodeType": "ExpressionStatement", - "src": "4150:44:43" - } - ] - }, - "documentation": null, - "functionSelector": "bea006e0", - "id": 11875, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 11827, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11820, - "src": "3669:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 11828, - "modifierName": { - "argumentTypes": null, - "id": 11826, - "name": "lpTokenNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11769, - "src": "3653:15:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3653:25:43" - }, - { - "arguments": null, - "id": 11830, - "modifierName": { - "argumentTypes": null, - "id": 11829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "3679:9:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3679:9:43" - } - ], - "name": "addLpToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11820, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11875, - "src": "3568:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3568:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11822, - "mutability": "mutable", - "name": "_allocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11875, - "src": "3594:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3594:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11824, - "mutability": "mutable", - "name": "_withUpdate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11875, - "src": "3623:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11823, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3623:4:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3558:87:43" - }, - "returnParameters": { - "id": 11831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3689:0:43" - }, - "scope": 12822, - "src": "3539:662:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11918, - "nodeType": "Block", - "src": "4331:255:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11886, - "name": "_withUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11881, - "src": "4345:11:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11891, - "nodeType": "IfStatement", - "src": "4341:59:43", - "trueBody": { - "id": 11890, - "nodeType": "Block", - "src": "4358:42:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11887, - "name": "massUpdatePools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "4372:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 11888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4372:17:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11889, - "nodeType": "ExpressionStatement", - "src": "4372:17:43" - } - ] - } - }, - { - "assignments": [ - 11893 - ], - "declarations": [ - { - "constant": false, - "id": 11893, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11918, - "src": "4409:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4409:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11897, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11895, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11877, - "src": "4430:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11894, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "4423:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4423:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4409:30:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11898, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "4449:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11907, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11879, - "src": "4518:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11901, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "4487:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11903, - "indexExpression": { - "argumentTypes": null, - "id": 11902, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11893, - "src": "4497:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4487:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 11904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "4487:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11899, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "4467:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4467:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4467:46:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4467:50:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4467:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4449:81:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11910, - "nodeType": "ExpressionStatement", - "src": "4449:81:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 11916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11911, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "4540:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11913, - "indexExpression": { - "argumentTypes": null, - "id": 11912, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11893, - "src": "4550:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4540:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 11914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "4540:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11915, - "name": "_allocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11879, - "src": "4568:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4540:39:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11917, - "nodeType": "ExpressionStatement", - "src": "4540:39:43" - } - ] - }, - "documentation": null, - "functionSelector": "34ea5389", - "id": 11919, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11884, - "modifierName": { - "argumentTypes": null, - "id": 11883, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4321:9:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4321:9:43" - } - ], - "name": "setLpToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11882, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11877, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11919, - "src": "4236:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11876, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4236:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11879, - "mutability": "mutable", - "name": "_allocPoint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11919, - "src": "4262:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4262:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11881, - "mutability": "mutable", - "name": "_withUpdate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11919, - "src": "4291:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11880, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4291:4:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4226:87:43" - }, - "returnParameters": { - "id": 11885, - "nodeType": "ParameterList", - "parameters": [], - "src": "4331:0:43" - }, - "scope": 12822, - "src": "4207:379:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 11938, - "nodeType": "Block", - "src": "4671:113:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 11928, - "name": "_withUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11923, - "src": "4685:11:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11933, - "nodeType": "IfStatement", - "src": "4681:59:43", - "trueBody": { - "id": 11932, - "nodeType": "Block", - "src": "4698:42:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11929, - "name": "massUpdatePools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12243, - "src": "4712:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 11930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4712:17:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11931, - "nodeType": "ExpressionStatement", - "src": "4712:17:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 11936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11934, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "4749:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11935, - "name": "_dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11921, - "src": "4764:13:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4749:28:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11937, - "nodeType": "ExpressionStatement", - "src": "4749:28:43" - } - ] - }, - "documentation": null, - "functionSelector": "7f10179f", - "id": 11939, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11926, - "modifierName": { - "argumentTypes": null, - "id": 11925, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "4661:9:43", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4661:9:43" - } - ], - "name": "setReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11921, - "mutability": "mutable", - "name": "_dodoPerBlock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11939, - "src": "4611:21:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4611:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11923, - "mutability": "mutable", - "name": "_withUpdate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11939, - "src": "4634:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11922, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4634:4:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4610:41:43" - }, - "returnParameters": { - "id": 11927, - "nodeType": "ParameterList", - "parameters": [], - "src": "4671:0:43" - }, - "scope": 12822, - "src": "4592:192:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12038, - "nodeType": "Block", - "src": "4928:753:43", - "statements": [ - { - "assignments": [ - 11949 - ], - "declarations": [ - { - "constant": false, - "id": 11949, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "4938:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4938:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11953, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11951, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11941, - "src": "4959:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11950, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "4952:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 11952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4952:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4938:30:43" - }, - { - "assignments": [ - 11955 - ], - "declarations": [ - { - "constant": false, - "id": 11955, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "4978:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 11954, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "4978:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11959, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11956, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "5002:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 11958, - "indexExpression": { - "argumentTypes": null, - "id": 11957, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "5012:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5002:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4978:38:43" - }, - { - "assignments": [ - 11961 - ], - "declarations": [ - { - "constant": false, - "id": 11961, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "5026:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 11960, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "5026:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11967, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 11962, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "5050:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 11964, - "indexExpression": { - "argumentTypes": null, - "id": 11963, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11949, - "src": "5059:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5050:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 11966, - "indexExpression": { - "argumentTypes": null, - "id": 11965, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11943, - "src": "5064:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5050:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5026:44:43" - }, - { - "assignments": [ - 11969 - ], - "declarations": [ - { - "constant": false, - "id": 11969, - "mutability": "mutable", - "name": "accDODOPerShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "5080:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5080:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11972, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11970, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5106:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 11971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "5106:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5080:46:43" - }, - { - "assignments": [ - 11974 - ], - "declarations": [ - { - "constant": false, - "id": 11974, - "mutability": "mutable", - "name": "lpSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12038, - "src": "5136:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5136:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11985, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11982, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5194:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 11981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5186:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5186:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5186:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11976, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5162:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 11977, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "5162:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11975, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5155:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 11978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5155:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "5155:30:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 11984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5155:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5136:64:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11986, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5214:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5214:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11988, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5229:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 11989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "5229:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5214:35:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11991, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11974, - "src": "5253:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5265:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5253:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5214:52:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12026, - "nodeType": "IfStatement", - "src": "5210:382:43", - "trueBody": { - "id": 12025, - "nodeType": "Block", - "src": "5268:324:43", - "statements": [ - { - "assignments": [ - 11996 - ], - "declarations": [ - { - "constant": false, - "id": 11996, - "mutability": "mutable", - "name": "DODOReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12025, - "src": "5282:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12013, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12011, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "5470:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12007, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5432:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "5432:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12004, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "5397:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12000, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11955, - "src": "5354:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "5354:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11997, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5303:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 11998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5303:29:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5303:50:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:72:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5303:93:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:107:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5303:128:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:145:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5303:166:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:183:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5282:204:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12014, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11969, - "src": "5500:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12019, - "name": "DODOReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11996, - "src": "5559:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12020, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11974, - "src": "5571:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12017, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5538:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "5538:20:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5538:42:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12015, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11969, - "src": "5518:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5518:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5518:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5500:81:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12024, - "nodeType": "ExpressionStatement", - "src": "5500:81:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12034, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11961, - "src": "5658:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12035, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "5658:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12029, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11961, - "src": "5624:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "5624:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12031, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11969, - "src": "5637:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12027, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5608:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "5608:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5608:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5608:49:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5608:66:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11947, - "id": 12037, - "nodeType": "Return", - "src": "5601:73:43" - } - ] - }, - "documentation": null, - "functionSelector": "fe0f3a13", - "id": 12039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPendingReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11941, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12039, - "src": "4863:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4863:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11943, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12039, - "src": "4881:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4881:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4862:33:43" - }, - "returnParameters": { - "id": 11947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11946, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12039, - "src": "4919:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4919:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4918:9:43" - }, - "scope": 12822, - "src": "4837:844:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12176, - "nodeType": "Block", - "src": "5763:1128:43", - "statements": [ - { - "assignments": [ - 12047 - ], - "declarations": [ - { - "constant": false, - "id": 12047, - "mutability": "mutable", - "name": "length", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12176, - "src": "5773:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5773:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12050, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12048, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "5790:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5790:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5773:33:43" - }, - { - "assignments": [ - 12052 - ], - "declarations": [ - { - "constant": false, - "id": 12052, - "mutability": "mutable", - "name": "totalReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12176, - "src": "5816:19:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5816:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12054, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5838:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5816:23:43" - }, - { - "body": { - "id": 12172, - "nodeType": "Block", - "src": "5892:965:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12065, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "5910:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12067, - "indexExpression": { - "argumentTypes": null, - "id": 12066, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5919:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5910:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12069, - "indexExpression": { - "argumentTypes": null, - "id": 12068, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12041, - "src": "5924:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5910:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 12070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "5910:27:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5941:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5910:32:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12073, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "5946:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12075, - "indexExpression": { - "argumentTypes": null, - "id": 12074, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5956:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5946:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 12076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "5946:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5975:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5946:30:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5910:66:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12082, - "nodeType": "IfStatement", - "src": "5906:125:43", - "trueBody": { - "id": 12081, - "nodeType": "Block", - "src": "5978:53:43", - "statements": [ - { - "id": 12080, - "nodeType": "Continue", - "src": "5996:8:43" - } - ] - } - }, - { - "assignments": [ - 12084 - ], - "declarations": [ - { - "constant": false, - "id": 12084, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6044:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12083, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "6044:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12088, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12085, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "6068:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12087, - "indexExpression": { - "argumentTypes": null, - "id": 12086, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "6078:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6068:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6044:38:43" - }, - { - "assignments": [ - 12090 - ], - "declarations": [ - { - "constant": false, - "id": 12090, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6096:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12089, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "6096:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12096, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12091, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "6120:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12093, - "indexExpression": { - "argumentTypes": null, - "id": 12092, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "6129:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6120:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12095, - "indexExpression": { - "argumentTypes": null, - "id": 12094, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12041, - "src": "6134:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6120:20:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6096:44:43" - }, - { - "assignments": [ - 12098 - ], - "declarations": [ - { - "constant": false, - "id": 12098, - "mutability": "mutable", - "name": "accDODOPerShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6154:23:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6154:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12101, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12099, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6180:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "6180:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6154:46:43" - }, - { - "assignments": [ - 12103 - ], - "declarations": [ - { - "constant": false, - "id": 12103, - "mutability": "mutable", - "name": "lpSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12172, - "src": "6214:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6214:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12114, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12111, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6272:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 12110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6264:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6264:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6264:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12105, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6240:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "6240:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12104, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6233:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6233:30:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 12113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6214:64:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12115, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6296:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6296:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12117, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6311:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "6311:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6296:35:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12120, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12103, - "src": "6335:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6347:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6296:52:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12155, - "nodeType": "IfStatement", - "src": "6292:414:43", - "trueBody": { - "id": 12154, - "nodeType": "Block", - "src": "6350:356:43", - "statements": [ - { - "assignments": [ - 12125 - ], - "declarations": [ - { - "constant": false, - "id": 12125, - "mutability": "mutable", - "name": "DODOReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12154, - "src": "6368:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6368:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12142, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12140, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "6576:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12136, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6534:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12137, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "6534:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12133, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "6495:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12129, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12084, - "src": "6448:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "6448:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12126, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6389:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6389:33:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6389:58:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:80:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "6389:105:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:119:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "6389:144:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:161:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "6389:186:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6389:203:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6368:224:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12143, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12098, - "src": "6610:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12148, - "name": "DODOReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12125, - "src": "6669:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12149, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12103, - "src": "6681:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12146, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6648:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "6648:20:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6648:42:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12144, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12098, - "src": "6628:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6628:19:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6628:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6610:81:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12153, - "nodeType": "ExpressionStatement", - "src": "6610:81:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 12170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12156, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "6719:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12166, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12090, - "src": "6816:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "6816:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12161, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12090, - "src": "6782:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "6782:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12163, - "name": "accDODOPerShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12098, - "src": "6795:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12159, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6766:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "6766:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6766:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6766:49:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6766:66:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12157, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "6733:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6733:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6733:113:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6719:127:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12171, - "nodeType": "ExpressionStatement", - "src": "6719:127:43" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12059, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5871:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12060, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12047, - "src": "5877:6:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5871:12:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12173, - "initializationExpression": { - "assignments": [ - 12056 - ], - "declarations": [ - { - "constant": false, - "id": 12056, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12173, - "src": "5854:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5854:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12058, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5868:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5854:15:43" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 12063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "5885:5:43", - "subExpression": { - "argumentTypes": null, - "id": 12062, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12056, - "src": "5887:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12064, - "nodeType": "ExpressionStatement", - "src": "5885:5:43" - }, - "nodeType": "ForStatement", - "src": "5849:1008:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12174, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12052, - "src": "6873:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 12045, - "id": 12175, - "nodeType": "Return", - "src": "6866:18:43" - } - ] - }, - "documentation": null, - "functionSelector": "f146b809", - "id": 12177, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAllPendingReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12041, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12177, - "src": "5716:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5716:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5715:15:43" - }, - "returnParameters": { - "id": 12045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12044, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12177, - "src": "5754:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5754:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5753:9:43" - }, - "scope": 12822, - "src": "5687:1204:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12188, - "nodeType": "Block", - "src": "6971:45:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12184, - "name": "realizedReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11690, - "src": "6988:14:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12186, - "indexExpression": { - "argumentTypes": null, - "id": 12185, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12179, - "src": "7003:5:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6988:21:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 12183, - "id": 12187, - "nodeType": "Return", - "src": "6981:28:43" - } - ] - }, - "documentation": null, - "functionSelector": "6dc2cc8c", - "id": 12189, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRealizedReward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12180, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12179, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12189, - "src": "6924:13:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6924:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6923:15:43" - }, - "returnParameters": { - "id": 12183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12182, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12189, - "src": "6962:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6962:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6961:9:43" - }, - "scope": 12822, - "src": "6897:119:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12217, - "nodeType": "Block", - "src": "7099:166:43", - "statements": [ - { - "assignments": [ - 12197 - ], - "declarations": [ - { - "constant": false, - "id": 12197, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12217, - "src": "7109:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7109:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12201, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12199, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12191, - "src": "7130:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12198, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "7123:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7123:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7109:30:43" - }, - { - "assignments": [ - 12203 - ], - "declarations": [ - { - "constant": false, - "id": 12203, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12217, - "src": "7149:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12202, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "7149:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12207, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12204, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "7173:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12206, - "indexExpression": { - "argumentTypes": null, - "id": 12205, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12197, - "src": "7183:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7173:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7149:38:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12214, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "7242:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12210, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12203, - "src": "7221:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "7221:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12208, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "7204:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "7204:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7204:33:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "7204:37:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7204:54:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 12195, - "id": 12216, - "nodeType": "Return", - "src": "7197:61:43" - } - ] - }, - "documentation": null, - "functionSelector": "fb7276f4", - "id": 12218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDlpMiningSpeed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12191, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12218, - "src": "7049:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7049:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7048:18:43" - }, - "returnParameters": { - "id": 12195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12194, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12218, - "src": "7090:7:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7090:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7089:9:43" - }, - "scope": 12822, - "src": "7022:243:43", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 12242, - "nodeType": "Block", - "src": "7426:142:43", - "statements": [ - { - "assignments": [ - 12222 - ], - "declarations": [ - { - "constant": false, - "id": 12222, - "mutability": "mutable", - "name": "length", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12242, - "src": "7436:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7436:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12225, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12223, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "7453:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7453:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7436:33:43" - }, - { - "body": { - "id": 12240, - "nodeType": "Block", - "src": "7522:40:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12237, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12227, - "src": "7547:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12236, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "7536:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7536:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12239, - "nodeType": "ExpressionStatement", - "src": "7536:15:43" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12230, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12227, - "src": "7501:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12231, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12222, - "src": "7507:6:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7501:12:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12241, - "initializationExpression": { - "assignments": [ - 12227 - ], - "declarations": [ - { - "constant": false, - "id": 12227, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12241, - "src": "7484:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7484:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12229, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7498:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7484:15:43" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 12234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "7515:5:43", - "subExpression": { - "argumentTypes": null, - "id": 12233, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12227, - "src": "7517:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12235, - "nodeType": "ExpressionStatement", - "src": "7515:5:43" - }, - "nodeType": "ForStatement", - "src": "7479:83:43" - } - ] - }, - "documentation": null, - "functionSelector": "630b5ba1", - "id": 12243, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "massUpdatePools", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12219, - "nodeType": "ParameterList", - "parameters": [], - "src": "7416:2:43" - }, - "returnParameters": { - "id": 12220, - "nodeType": "ParameterList", - "parameters": [], - "src": "7426:0:43" - }, - "scope": 12822, - "src": "7392:176:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12328, - "nodeType": "Block", - "src": "7682:660:43", - "statements": [ - { - "assignments": [ - 12249 - ], - "declarations": [ - { - "constant": false, - "id": 12249, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12328, - "src": "7692:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12248, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "7692:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12253, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12250, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "7716:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12252, - "indexExpression": { - "argumentTypes": null, - "id": 12251, - "name": "_pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12245, - "src": "7726:4:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7716:15:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7692:39:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12254, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7745:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7745:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12256, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "7761:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "7761:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7745:36:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12261, - "nodeType": "IfStatement", - "src": "7741:73:43", - "trueBody": { - "id": 12260, - "nodeType": "Block", - "src": "7783:31:43", - "statements": [ - { - "expression": null, - "functionReturnParameters": 12247, - "id": 12259, - "nodeType": "Return", - "src": "7797:7:43" - } - ] - } - }, - { - "assignments": [ - 12263 - ], - "declarations": [ - { - "constant": false, - "id": 12263, - "mutability": "mutable", - "name": "lpSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12328, - "src": "7823:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7823:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12274, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12271, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7881:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 12270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7873:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12269, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7873:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7873:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12265, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "7849:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "7849:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12264, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7842:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7842:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7842:30:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 12273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7842:45:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7823:64:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12275, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12263, - "src": "7901:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7913:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7901:13:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12287, - "nodeType": "IfStatement", - "src": "7897:99:43", - "trueBody": { - "id": 12286, - "nodeType": "Block", - "src": "7916:80:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12278, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "7930:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "7930:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7953:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7953:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7930:35:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12284, - "nodeType": "ExpressionStatement", - "src": "7930:35:43" - }, - { - "expression": null, - "functionReturnParameters": 12247, - "id": 12285, - "nodeType": "Return", - "src": "7979:7:43" - } - ] - } - }, - { - "assignments": [ - 12289 - ], - "declarations": [ - { - "constant": false, - "id": 12289, - "mutability": "mutable", - "name": "DODOReward", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12328, - "src": "8005:18:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8005:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12306, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12304, - "name": "totalAllocPoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11693, - "src": "8173:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12300, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8139:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "8139:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12297, - "name": "dodoPerBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11673, - "src": "8108:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12293, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8069:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "8069:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12290, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8026:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8026:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8026:42:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:64:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "8026:81:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:95:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "8026:112:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:129:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "8026:146:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8026:163:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8005:184:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12307, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8199:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "8199:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12315, - "name": "DODOReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12289, - "src": "8268:10:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12316, - "name": "lpSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12263, - "src": "8280:8:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12313, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8247:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "8247:20:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8247:42:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12310, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8222:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "8222:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "8222:24:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8222:68:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8199:91:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12320, - "nodeType": "ExpressionStatement", - "src": "8199:91:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12321, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12249, - "src": "8300:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastRewardBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 11666, - "src": "8300:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12324, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8323:5:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 12325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8323:12:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8300:35:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12327, - "nodeType": "ExpressionStatement", - "src": "8300:35:43" - } - ] - }, - "documentation": null, - "functionSelector": "51eb05a6", - "id": 12329, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updatePool", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12245, - "mutability": "mutable", - "name": "_pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12329, - "src": "7661:12:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7661:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7660:14:43" - }, - "returnParameters": { - "id": 12247, - "nodeType": "ParameterList", - "parameters": [], - "src": "7682:0:43" - }, - "scope": 12822, - "src": "7641:701:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12433, - "nodeType": "Block", - "src": "8518:670:43", - "statements": [ - { - "assignments": [ - 12337 - ], - "declarations": [ - { - "constant": false, - "id": 12337, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12433, - "src": "8528:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8528:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12341, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12339, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12331, - "src": "8549:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12338, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "8542:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8542:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8528:30:43" - }, - { - "assignments": [ - 12343 - ], - "declarations": [ - { - "constant": false, - "id": 12343, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12433, - "src": "8568:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12342, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "8568:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12347, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12344, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "8592:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12346, - "indexExpression": { - "argumentTypes": null, - "id": 12345, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "8602:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8592:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8568:38:43" - }, - { - "assignments": [ - 12349 - ], - "declarations": [ - { - "constant": false, - "id": 12349, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12433, - "src": "8616:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12348, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "8616:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12356, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12350, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "8640:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12352, - "indexExpression": { - "argumentTypes": null, - "id": 12351, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "8649:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8640:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12355, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12353, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8654:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8654:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8640:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8616:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12358, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "8686:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12357, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "8675:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8675:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12360, - "nodeType": "ExpressionStatement", - "src": "8675:15:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12361, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "8704:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "8704:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8718:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8704:15:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12386, - "nodeType": "IfStatement", - "src": "8700:216:43", - "trueBody": { - "id": 12385, - "nodeType": "Block", - "src": "8721:195:43", - "statements": [ - { - "assignments": [ - 12366 - ], - "declarations": [ - { - "constant": false, - "id": 12366, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12385, - "src": "8735:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8735:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12378, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12375, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "8825:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12376, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "8825:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12369, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "8769:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12370, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "8769:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12371, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12343, - "src": "8782:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "8782:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12367, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8753:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "8753:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8753:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8753:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8753:101:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8735:119:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12380, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8885:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8885:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12382, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12366, - "src": "8897:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12379, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "8868:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8868:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12384, - "nodeType": "ExpressionStatement", - "src": "8868:37:43" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12394, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8971:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8971:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8963:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8963:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8963:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12399, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8992:4:43", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOMine_$12822", - "typeString": "contract DODOMine" - } - ], - "id": 12398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8984:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12397, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8984:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8984:13:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12401, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12333, - "src": "8999:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12388, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12343, - "src": "8932:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12389, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "8932:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12387, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "8925:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8925:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "8925:37:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 12402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8925:82:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12403, - "nodeType": "ExpressionStatement", - "src": "8925:82:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12404, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9017:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9017:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12410, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12333, - "src": "9047:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12407, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9031:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9031:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "9031:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9031:24:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9017:38:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12413, - "nodeType": "ExpressionStatement", - "src": "9017:38:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12414, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9065:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12416, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "9065:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12419, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12349, - "src": "9099:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9099:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12421, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12343, - "src": "9112:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "9112:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12417, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "9083:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "9083:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9083:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9065:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12425, - "nodeType": "ExpressionStatement", - "src": "9065:68:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12427, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9156:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9156:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12429, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12337, - "src": "9168:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12430, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12333, - "src": "9173:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12426, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11703, - "src": "9148:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 12431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9148:33:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12432, - "nodeType": "EmitStatement", - "src": "9143:38:43" - } - ] - }, - "documentation": null, - "functionSelector": "47e7ef24", - "id": 12434, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12331, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12434, - "src": "8476:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8476:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12333, - "mutability": "mutable", - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12434, - "src": "8494:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8494:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8475:35:43" - }, - "returnParameters": { - "id": 12335, - "nodeType": "ParameterList", - "parameters": [], - "src": "8518:0:43" - }, - "scope": 12822, - "src": "8459:729:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12536, - "nodeType": "Block", - "src": "9254:635:43", - "statements": [ - { - "assignments": [ - 12442 - ], - "declarations": [ - { - "constant": false, - "id": 12442, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9264:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9264:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12446, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12444, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12436, - "src": "9285:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12443, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "9278:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9278:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9264:30:43" - }, - { - "assignments": [ - 12448 - ], - "declarations": [ - { - "constant": false, - "id": 12448, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9304:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12447, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "9304:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12452, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12449, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "9328:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12451, - "indexExpression": { - "argumentTypes": null, - "id": 12450, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9338:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9328:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9304:38:43" - }, - { - "assignments": [ - 12454 - ], - "declarations": [ - { - "constant": false, - "id": 12454, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9352:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12453, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "9352:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12461, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12455, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "9376:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12457, - "indexExpression": { - "argumentTypes": null, - "id": 12456, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9385:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9376:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12460, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12458, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9390:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9390:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9376:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9352:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12463, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9419:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9419:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 12465, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9434:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9419:22:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "776974686472617720746f6f206d756368", - "id": 12467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9443:19:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c36bb679920b61b680a8b24a18ff078642b393d25605ff3a7616b83483e73b38", - "typeString": "literal_string \"withdraw too much\"" - }, - "value": "withdraw too much" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c36bb679920b61b680a8b24a18ff078642b393d25605ff3a7616b83483e73b38", - "typeString": "literal_string \"withdraw too much\"" - } - ], - "id": 12462, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9411:7:43", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 12468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9411:52:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12469, - "nodeType": "ExpressionStatement", - "src": "9411:52:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12471, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9484:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12470, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "9473:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9473:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12473, - "nodeType": "ExpressionStatement", - "src": "9473:15:43" - }, - { - "assignments": [ - 12475 - ], - "declarations": [ - { - "constant": false, - "id": 12475, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12536, - "src": "9498:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9498:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12487, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12484, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9571:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "9571:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12478, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9532:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9532:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12480, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "9545:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "9545:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12476, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "9516:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "9516:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9516:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "9516:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9516:71:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9498:89:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12489, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9614:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9614:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12491, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12475, - "src": "9626:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12488, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "9597:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9597:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12493, - "nodeType": "ExpressionStatement", - "src": "9597:37:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12494, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9644:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9644:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12500, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9674:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12497, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9658:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12498, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9658:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "9658:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9658:24:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9644:38:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12503, - "nodeType": "ExpressionStatement", - "src": "9644:38:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12504, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9692:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "9692:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12509, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12454, - "src": "9726:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12510, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "9726:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12511, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "9739:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "9739:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12507, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "9710:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "9710:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9710:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9692:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12515, - "nodeType": "ExpressionStatement", - "src": "9692:68:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9812:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9812:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9804:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9804:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9804:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12526, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9825:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12517, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12448, - "src": "9777:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "9777:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12516, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9770:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9770:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "9770:33:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9770:63:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12528, - "nodeType": "ExpressionStatement", - "src": "9770:63:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12530, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9857:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9857:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12532, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12442, - "src": "9869:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12533, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12438, - "src": "9874:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12529, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11711, - "src": "9848:8:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 12534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9848:34:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12535, - "nodeType": "EmitStatement", - "src": "9843:39:43" - } - ] - }, - "documentation": null, - "functionSelector": "f3fef3a3", - "id": 12537, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12436, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12537, - "src": "9212:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9212:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12438, - "mutability": "mutable", - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12537, - "src": "9230:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9230:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9211:35:43" - }, - "returnParameters": { - "id": 12440, - "nodeType": "ParameterList", - "parameters": [], - "src": "9254:0:43" - }, - "scope": 12822, - "src": "9194:695:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12555, - "nodeType": "Block", - "src": "9941:110:43", - "statements": [ - { - "assignments": [ - 12543 - ], - "declarations": [ - { - "constant": false, - "id": 12543, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12555, - "src": "9951:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9951:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12549, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12545, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12539, - "src": "9986:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12546, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9996:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9996:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12544, - "name": "getUserLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11818, - "src": "9969:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 12548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9969:38:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9951:56:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12551, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12539, - "src": "10026:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12552, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12543, - "src": "10036:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12550, - "name": "withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12537, - "src": "10017:8:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10017:27:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12554, - "nodeType": "ExpressionStatement", - "src": "10017:27:43" - } - ] - }, - "documentation": null, - "functionSelector": "fa09e630", - "id": 12556, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12539, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12556, - "src": "9916:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12538, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9916:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9915:18:43" - }, - "returnParameters": { - "id": 12541, - "nodeType": "ParameterList", - "parameters": [], - "src": "9941:0:43" - }, - "scope": 12822, - "src": "9895:156:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12608, - "nodeType": "Block", - "src": "10171:285:43", - "statements": [ - { - "assignments": [ - 12562 - ], - "declarations": [ - { - "constant": false, - "id": 12562, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12608, - "src": "10181:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10181:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12566, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12564, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12558, - "src": "10202:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12563, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "10195:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10195:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10181:30:43" - }, - { - "assignments": [ - 12568 - ], - "declarations": [ - { - "constant": false, - "id": 12568, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12608, - "src": "10221:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12567, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "10221:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12572, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12569, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "10245:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12571, - "indexExpression": { - "argumentTypes": null, - "id": 12570, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12562, - "src": "10255:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10245:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10221:38:43" - }, - { - "assignments": [ - 12574 - ], - "declarations": [ - { - "constant": false, - "id": 12574, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12608, - "src": "10269:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12573, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "10269:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12581, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12575, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "10293:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12577, - "indexExpression": { - "argumentTypes": null, - "id": 12576, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12562, - "src": "10302:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10293:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12580, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10307:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10307:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10293:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10269:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10370:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10370:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 12588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10362:7:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 12587, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10362:7:43", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 12591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10362:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12592, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12574, - "src": "10383:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10383:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12583, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12568, - "src": "10335:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lpToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 11662, - "src": "10335:12:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12582, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10328:6:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10328:20:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "10328:33:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10328:67:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12595, - "nodeType": "ExpressionStatement", - "src": "10328:67:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12596, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12574, - "src": "10405:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10405:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 12599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10419:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10405:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12601, - "nodeType": "ExpressionStatement", - "src": "10405:15:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12602, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12574, - "src": "10430:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "10430:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 12605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10448:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10430:19:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12607, - "nodeType": "ExpressionStatement", - "src": "10430:19:43" - } - ] - }, - "documentation": null, - "functionSelector": "6ff1c9bc", - "id": 12609, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "emergencyWithdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12559, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12558, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12609, - "src": "10146:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10146:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10145:18:43" - }, - "returnParameters": { - "id": 12560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10171:0:43" - }, - "scope": 12822, - "src": "10119:337:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12690, - "nodeType": "Block", - "src": "10502:532:43", - "statements": [ - { - "assignments": [ - 12615 - ], - "declarations": [ - { - "constant": false, - "id": 12615, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10512:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10512:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12619, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12617, - "name": "_lpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12611, - "src": "10533:8:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12616, - "name": "getPid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11795, - "src": "10526:6:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 12618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10526:16:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10512:30:43" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12620, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "10556:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12622, - "indexExpression": { - "argumentTypes": null, - "id": 12621, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10565:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10556:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12625, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10570:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10570:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10556:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 12626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10556:32:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10592:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10556:37:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12629, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "10597:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12631, - "indexExpression": { - "argumentTypes": null, - "id": 12630, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10607:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10597:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 12632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "10597:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10626:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10597:30:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10556:71:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12638, - "nodeType": "IfStatement", - "src": "10552:120:43", - "trueBody": { - "id": 12637, - "nodeType": "Block", - "src": "10629:43:43", - "statements": [ - { - "expression": null, - "functionReturnParameters": 12613, - "id": 12636, - "nodeType": "Return", - "src": "10643:7:43" - } - ] - } - }, - { - "assignments": [ - 12640 - ], - "declarations": [ - { - "constant": false, - "id": 12640, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10681:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12639, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "10681:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12644, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12641, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "10705:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12643, - "indexExpression": { - "argumentTypes": null, - "id": 12642, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10715:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10705:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10681:38:43" - }, - { - "assignments": [ - 12646 - ], - "declarations": [ - { - "constant": false, - "id": 12646, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10729:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12645, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "10729:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12653, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12647, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "10753:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12649, - "indexExpression": { - "argumentTypes": null, - "id": 12648, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10762:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10753:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12652, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12650, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10767:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10767:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10753:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10729:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12655, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12615, - "src": "10799:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12654, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "10788:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10788:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12657, - "nodeType": "ExpressionStatement", - "src": "10788:15:43" - }, - { - "assignments": [ - 12659 - ], - "declarations": [ - { - "constant": false, - "id": 12659, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12690, - "src": "10813:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10813:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12671, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12668, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10886:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "10886:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12662, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10847:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10847:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12664, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "10860:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12665, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "10860:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12660, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "10831:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "10831:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10831:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10831:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10831:71:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10813:89:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12672, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10912:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12674, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "10912:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12677, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12646, - "src": "10946:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "10946:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12679, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12640, - "src": "10959:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "10959:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12675, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "10930:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "10930:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10930:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10912:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12683, - "nodeType": "ExpressionStatement", - "src": "10912:68:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12685, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11007:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11007:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12687, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12659, - "src": "11019:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12684, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "10990:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10990:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12689, - "nodeType": "ExpressionStatement", - "src": "10990:37:43" - } - ] - }, - "documentation": null, - "functionSelector": "1e83409a", - "id": 12691, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12611, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12691, - "src": "10477:16:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10477:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10476:18:43" - }, - "returnParameters": { - "id": 12613, - "nodeType": "ParameterList", - "parameters": [], - "src": "10502:0:43" - }, - "scope": 12822, - "src": "10462:572:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12788, - "nodeType": "Block", - "src": "11067:696:43", - "statements": [ - { - "assignments": [ - 12695 - ], - "declarations": [ - { - "constant": false, - "id": 12695, - "mutability": "mutable", - "name": "length", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12788, - "src": "11077:14:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11077:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12698, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12696, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "11094:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11094:16:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11077:33:43" - }, - { - "assignments": [ - 12700 - ], - "declarations": [ - { - "constant": false, - "id": 12700, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12788, - "src": "11120:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11120:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12702, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11138:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11120:19:43" - }, - { - "body": { - "id": 12780, - "nodeType": "Block", - "src": "11192:518:43", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 12728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12713, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "11210:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12715, - "indexExpression": { - "argumentTypes": null, - "id": 12714, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11219:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11210:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12718, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12716, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11224:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11224:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11210:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "id": 12719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "11210:32:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11246:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11210:37:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12722, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "11251:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12724, - "indexExpression": { - "argumentTypes": null, - "id": 12723, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11261:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11251:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "id": 12725, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "allocPoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11664, - "src": "11251:25:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 12726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11280:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11251:30:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11210:71:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 12731, - "nodeType": "IfStatement", - "src": "11206:130:43", - "trueBody": { - "id": 12730, - "nodeType": "Block", - "src": "11283:53:43", - "statements": [ - { - "id": 12729, - "nodeType": "Continue", - "src": "11301:8:43" - } - ] - } - }, - { - "assignments": [ - 12733 - ], - "declarations": [ - { - "constant": false, - "id": 12733, - "mutability": "mutable", - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12780, - "src": "11349:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - }, - "typeName": { - "contractScope": null, - "id": 12732, - "name": "PoolInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11669, - "src": "11349:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12737, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12734, - "name": "poolInfos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11676, - "src": "11373:9:43", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$11669_storage_$dyn_storage", - "typeString": "struct DODOMine.PoolInfo storage ref[] storage ref" - } - }, - "id": 12736, - "indexExpression": { - "argumentTypes": null, - "id": 12735, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11383:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11373:14:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage", - "typeString": "struct DODOMine.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11349:38:43" - }, - { - "assignments": [ - 12739 - ], - "declarations": [ - { - "constant": false, - "id": 12739, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12780, - "src": "11401:21:43", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - }, - "typeName": { - "contractScope": null, - "id": 12738, - "name": "UserInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11660, - "src": "11401:8:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12746, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12740, - "name": "userInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11686, - "src": "11425:8:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct DODOMine.UserInfo storage ref))" - } - }, - "id": 12742, - "indexExpression": { - "argumentTypes": null, - "id": 12741, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11434:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11425:13:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$11660_storage_$", - "typeString": "mapping(address => struct DODOMine.UserInfo storage ref)" - } - }, - "id": 12745, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12743, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11439:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11439:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11425:25:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage", - "typeString": "struct DODOMine.UserInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11401:49:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12748, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11475:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12747, - "name": "updatePool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12329, - "src": "11464:10:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 12749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11464:15:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12750, - "nodeType": "ExpressionStatement", - "src": "11464:15:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12751, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12700, - "src": "11493:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12762, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11587:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "11587:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12756, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11548:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "11548:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12758, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12733, - "src": "11561:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "11561:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12754, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "11532:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "11532:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11532:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "11532:54:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11532:71:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12752, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12700, - "src": "11503:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "11503:11:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11503:114:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11493:124:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12767, - "nodeType": "ExpressionStatement", - "src": "11493:124:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12768, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11631:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardDebt", - "nodeType": "MemberAccess", - "referencedDeclaration": 11659, - "src": "11631:15:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12773, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12739, - "src": "11665:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserInfo_$11660_storage_ptr", - "typeString": "struct DODOMine.UserInfo storage pointer" - } - }, - "id": 12774, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 11657, - "src": "11665:11:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12775, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12733, - "src": "11678:4:43", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$11669_storage_ptr", - "typeString": "struct DODOMine.PoolInfo storage pointer" - } - }, - "id": 12776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accDODOPerShare", - "nodeType": "MemberAccess", - "referencedDeclaration": 11668, - "src": "11678:20:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12771, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "11649:11:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 12772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "11649:15:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11649:50:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11631:68:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12779, - "nodeType": "ExpressionStatement", - "src": "11631:68:43" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 12709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 12707, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11171:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 12708, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12695, - "src": "11177:6:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11171:12:43", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 12781, - "initializationExpression": { - "assignments": [ - 12704 - ], - "declarations": [ - { - "constant": false, - "id": 12704, - "mutability": "mutable", - "name": "pid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12781, - "src": "11154:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11154:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12706, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 12705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11168:1:43", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11154:15:43" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 12711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11185:5:43", - "subExpression": { - "argumentTypes": null, - "id": 12710, - "name": "pid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12704, - "src": "11187:3:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12712, - "nodeType": "ExpressionStatement", - "src": "11185:5:43" - }, - "nodeType": "ForStatement", - "src": "11149:561:43" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 12783, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11736:3:43", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 12784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11736:10:43", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 12785, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12700, - "src": "11748:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12782, - "name": "safeDODOTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12821, - "src": "11719:16:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11719:37:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12787, - "nodeType": "ExpressionStatement", - "src": "11719:37:43" - } - ] - }, - "documentation": null, - "functionSelector": "d1058e59", - "id": 12789, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12692, - "nodeType": "ParameterList", - "parameters": [], - "src": "11057:2:43" - }, - "returnParameters": { - "id": 12693, - "nodeType": "ParameterList", - "parameters": [], - "src": "11067:0:43" - }, - "scope": 12822, - "src": "11040:723:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12820, - "nodeType": "Block", - "src": "11869:169:43", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12800, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "11920:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12801, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12793, - "src": "11925:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12797, - "name": "dodoRewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11671, - "src": "11896:15:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12796, - "name": "IDODORewardVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12962, - "src": "11879:16:43", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODORewardVault_$12962_$", - "typeString": "type(contract IDODORewardVault)" - } - }, - "id": 12798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:33:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODORewardVault_$12962", - "typeString": "contract IDODORewardVault" - } - }, - "id": 12799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reward", - "nodeType": "MemberAccess", - "referencedDeclaration": 12961, - "src": "11879:40:43", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 12802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:54:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12803, - "nodeType": "ExpressionStatement", - "src": "11879:54:43" - }, - { - "expression": { - "argumentTypes": null, - "id": 12813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12804, - "name": "realizedReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11690, - "src": "11943:14:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12806, - "indexExpression": { - "argumentTypes": null, - "id": 12805, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "11958:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11943:19:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12811, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12793, - "src": "11989:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 12807, - "name": "realizedReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11690, - "src": "11965:14:43", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 12809, - "indexExpression": { - "argumentTypes": null, - "id": 12808, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "11980:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11965:19:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "11965:23:43", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11965:32:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11943:54:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12814, - "nodeType": "ExpressionStatement", - "src": "11943:54:43" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12816, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12791, - "src": "12018:3:43", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12817, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12793, - "src": "12023:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12815, - "name": "Claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11717, - "src": "12012:5:43", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 12818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12012:19:43", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12819, - "nodeType": "EmitStatement", - "src": "12007:24:43" - } - ] - }, - "documentation": null, - "id": 12821, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeDODOTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12791, - "mutability": "mutable", - "name": "_to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12821, - "src": "11830:11:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11830:7:43", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12793, - "mutability": "mutable", - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12821, - "src": "11843:15:43", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11843:7:43", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11829:30:43" - }, - "returnParameters": { - "id": 12795, - "nodeType": "ParameterList", - "parameters": [], - "src": "11869:0:43" - }, - "scope": 12822, - "src": "11804:234:43", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 12823, - "src": "444:11596:43" - } - ], - "src": "78:11963:43" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.725Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOMineReader.json b/build-v1/contracts/DODOMineReader.json deleted file mode 100644 index 262c405..0000000 --- a/build-v1/contracts/DODOMineReader.json +++ /dev/null @@ -1,3640 +0,0 @@ -{ - "contractName": "DODOMineReader", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dodoMine", - "type": "address" - }, - { - "internalType": "address", - "name": "_dodo", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getUserStakedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "baseBalance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteBalance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoMine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_dodo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserStakedBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol\":\"DODOMineReader\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol\":{\"keccak256\":\"0xacdbbc17ce75a41a7656e2ff50c85633af00f5c57240269a3bcfcc4800427574\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b915a0b00401e7355693594d02a1b606172e29c8886fe909749b4422bd8accb3\",\"dweb:/ipfs/QmbaER9zTzjuUh4x4YMDMiXu4cHzMCqihBUP7h2DP4ERmq\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506105d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634e41de7f14610030575b600080fd5b61004361003e36600461048f565b61005a565b604051610051929190610579565b60405180910390f35b6000806000846001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561009857600080fd5b505afa1580156100ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d09190610473565b90506000856001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b15801561010d57600080fd5b505afa158015610121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101459190610473565b90506000876001600160a01b03166319a78f5584886040518363ffffffff1660e01b8152600401610177929190610514565b60206040518083038186803b15801561018f57600080fd5b505afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c791906104d9565b90506000886001600160a01b03166319a78f5584896040518363ffffffff1660e01b81526004016101f9929190610514565b60206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024991906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be91906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102fb57600080fd5b505afa15801561030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033391906104d9565b90506000808b6001600160a01b031663ffa642256040518163ffffffff1660e01b8152600401604080518083038186803b15801561037057600080fd5b505afa158015610384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a891906104f1565b90925090506103cd846103c1848963ffffffff6103f516565b9063ffffffff61044116565b99506103e3836103c1838863ffffffff6103f516565b98505050505050505050935093915050565b6000826104045750600061043b565b8282028284828161041157fe5b04146104385760405162461bcd60e51b815260040161042f90610556565b60405180910390fd5b90505b92915050565b60008082116104625760405162461bcd60e51b815260040161042f9061052e565b81838161046b57fe5b049392505050565b600060208284031215610484578081fd5b815161043881610587565b6000806000606084860312156104a3578182fd5b83356104ae81610587565b925060208401356104be81610587565b915060408401356104ce81610587565b809150509250925092565b6000602082840312156104ea578081fd5b5051919050565b60008060408385031215610503578182fd5b505080516020909101519092909150565b6001600160a01b0392831681529116602082015260400190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b918252602082015260400190565b6001600160a01b038116811461059c57600080fd5b5056fea264697066735822122058a9b2316ed397b51ced2cada4331ee4342b25e67e74fb636333495dc36ed57c64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80634e41de7f14610030575b600080fd5b61004361003e36600461048f565b61005a565b604051610051929190610579565b60405180910390f35b6000806000846001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561009857600080fd5b505afa1580156100ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d09190610473565b90506000856001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b15801561010d57600080fd5b505afa158015610121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101459190610473565b90506000876001600160a01b03166319a78f5584886040518363ffffffff1660e01b8152600401610177929190610514565b60206040518083038186803b15801561018f57600080fd5b505afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c791906104d9565b90506000886001600160a01b03166319a78f5584896040518363ffffffff1660e01b81526004016101f9929190610514565b60206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024991906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be91906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102fb57600080fd5b505afa15801561030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033391906104d9565b90506000808b6001600160a01b031663ffa642256040518163ffffffff1660e01b8152600401604080518083038186803b15801561037057600080fd5b505afa158015610384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a891906104f1565b90925090506103cd846103c1848963ffffffff6103f516565b9063ffffffff61044116565b99506103e3836103c1838863ffffffff6103f516565b98505050505050505050935093915050565b6000826104045750600061043b565b8282028284828161041157fe5b04146104385760405162461bcd60e51b815260040161042f90610556565b60405180910390fd5b90505b92915050565b60008082116104625760405162461bcd60e51b815260040161042f9061052e565b81838161046b57fe5b049392505050565b600060208284031215610484578081fd5b815161043881610587565b6000806000606084860312156104a3578182fd5b83356104ae81610587565b925060208401356104be81610587565b915060408401356104ce81610587565b809150509250925092565b6000602082840312156104ea578081fd5b5051919050565b60008060408385031215610503578182fd5b505080516020909101519092909150565b6001600160a01b0392831681529116602082015260400190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b918252602082015260400190565b6001600160a01b038116811461059c57600080fd5b5056fea264697066735822122058a9b2316ed397b51ced2cada4331ee4342b25e67e74fb636333495dc36ed57c64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "390:1001:44:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "390:1001:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:936;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;585:19;606:20;638:19;666:5;-1:-1:-1;;;;;660:33:44;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;638:57;;705:20;734:5;-1:-1:-1;;;;;728:34:44;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:59;;775:21;809:9;-1:-1:-1;;;;;799:37:44;;837:11;850:5;799:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:81;;866:22;901:9;-1:-1:-1;;;;;891:37:44;;929:12;943:5;891:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;866:83;;960:25;995:11;-1:-1:-1;;;;;988:31:44;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;960:61;;1031:26;1067:12;-1:-1:-1;;;;;1060:32:44;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:63;;1106:18;1126:19;1155:5;-1:-1:-1;;;;;1149:30:44;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1105:76;;-1:-1:-1;1105:76:44;-1:-1:-1;1205:52:44;1239:17;1205:29;1105:76;1220:13;1205:29;:14;:29;:::i;:::-;:33;:52;:33;:52;:::i;:::-;1191:66;-1:-1:-1;1282:55:44;1318:18;1282:31;:11;1298:14;1282:31;:15;:31;:::i;:55::-;1267:70;-1:-1:-1;;;;;;;;;453:936:44;;;;;;:::o;281:217:41:-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;;;;;;;;;;490:1;-1:-1:-1;281:217:41;;;;;:::o;504:138::-;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;424:263:-1:-;;539:2;527:9;518:7;514:23;510:32;507:2;;;-1:-1;;545:12;507:2;226:6;220:13;238:33;265:5;238:33;;694:491;;;;832:2;820:9;811:7;807:23;803:32;800:2;;;-1:-1;;838:12;800:2;85:6;72:20;97:33;124:5;97:33;;;890:63;-1:-1;990:2;1029:22;;72:20;97:33;72:20;97:33;;;998:63;-1:-1;1098:2;1137:22;;72:20;97:33;72:20;97:33;;;1106:63;;;;794:391;;;;;;1192:263;;1307:2;1295:9;1286:7;1282:23;1278:32;1275:2;;;-1:-1;;1313:12;1275:2;-1:-1;361:13;;1269:186;-1:-1;1269:186;1462:399;;;1594:2;1582:9;1573:7;1569:23;1565:32;1562:2;;;-1:-1;;1600:12;1562:2;-1:-1;;361:13;;1763:2;1813:22;;;361:13;;;;;-1:-1;1556:305;2748:333;-1:-1;;;;;4606:54;;;1939:37;;4606:54;;3067:2;3052:18;;1939:37;2903:2;2888:18;;2874:207;3088:416;3288:2;3302:47;;;2213:2;3273:18;;;4378:19;-1:-1;;;4418:14;;;2229:37;2285:12;;;3259:245;3511:416;3711:2;3725:47;;;2536:1;3696:18;;;4378:19;-1:-1;;;4418:14;;;2551:32;2602:12;;;3682:245;3934:333;2699:37;;;4253:2;4238:18;;2699:37;4089:2;4074:18;;4060:207;4751:117;-1:-1;;;;;4606:54;;4810:35;;4800:2;;4859:1;;4849:12;4800:2;4794:74;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {IDODO} from \"../intf/IDODO.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\n\ninterface IDODOMine {\n function getUserLpBalance(address _lpToken, address _user) external view returns (uint256);\n}\n\n\ncontract DODOMineReader {\n using SafeMath for uint256;\n\n function getUserStakedBalance(\n address _dodoMine,\n address _dodo,\n address _user\n ) external view returns (uint256 baseBalance, uint256 quoteBalance) {\n address baseLpToken = IDODO(_dodo)._BASE_CAPITAL_TOKEN_();\n address quoteLpToken = IDODO(_dodo)._QUOTE_CAPITAL_TOKEN_();\n\n uint256 baseLpBalance = IDODOMine(_dodoMine).getUserLpBalance(baseLpToken, _user);\n uint256 quoteLpBalance = IDODOMine(_dodoMine).getUserLpBalance(quoteLpToken, _user);\n\n uint256 baseLpTotalSupply = IERC20(baseLpToken).totalSupply();\n uint256 quoteLpTotalSupply = IERC20(quoteLpToken).totalSupply();\n\n (uint256 baseTarget, uint256 quoteTarget) = IDODO(_dodo).getExpectedTarget();\n baseBalance = baseTarget.mul(baseLpBalance).div(baseLpTotalSupply);\n quoteBalance = quoteTarget.mul(quoteLpBalance).div(quoteLpTotalSupply);\n\n return (baseBalance, quoteBalance);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", - "exportedSymbols": { - "DODOMineReader": [ - 12945 - ], - "IDODOMine": [ - 12841 - ] - }, - "id": 12946, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12824, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:44" - }, - { - "id": 12825, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:44" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "../intf/IDODO.sol", - "id": 12827, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10492, - "src": "136:40:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12826, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:5:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12829, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10608, - "src": "177:42:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12828, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "185:6:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 12831, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 11624, - "src": "220:45:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12830, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "228:8:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12841, - "linearizedBaseContracts": [ - 12841 - ], - "name": "IDODOMine", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "19a78f55", - "id": 12840, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getUserLpBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12833, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "320:16:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12835, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "338:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "338:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:44" - }, - "returnParameters": { - "id": 12839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12838, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "376:7:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "376:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "375:9:44" - }, - "scope": 12841, - "src": "294:91:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "268:119:44" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12945, - "linearizedBaseContracts": [ - 12945 - ], - "name": "DODOMineReader", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12844, - "libraryName": { - "contractScope": null, - "id": 12842, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "426:8:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "420:27:44", - "typeName": { - "id": 12843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 12943, - "nodeType": "Block", - "src": "628:761:44", - "statements": [ - { - "assignments": [ - 12858 - ], - "declarations": [ - { - "constant": false, - "id": 12858, - "mutability": "mutable", - "name": "baseLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "638:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "638:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12864, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12860, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "666:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12859, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "660:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "660:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:35:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "638:57:44" - }, - { - "assignments": [ - 12866 - ], - "declarations": [ - { - "constant": false, - "id": 12866, - "mutability": "mutable", - "name": "quoteLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "705:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "705:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12872, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12868, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "734:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12867, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "728:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "728:34:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:36:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:59:44" - }, - { - "assignments": [ - 12874 - ], - "declarations": [ - { - "constant": false, - "id": 12874, - "mutability": "mutable", - "name": "baseLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "775:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "775:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12882, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12879, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "837:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12880, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "850:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12876, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "809:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12875, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "799:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "799:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:57:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "775:81:44" - }, - { - "assignments": [ - 12884 - ], - "declarations": [ - { - "constant": false, - "id": 12884, - "mutability": "mutable", - "name": "quoteLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "866:22:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "866:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12892, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12889, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "929:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12890, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "943:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12886, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "901:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12885, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "891:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "891:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:58:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "866:83:44" - }, - { - "assignments": [ - 12894 - ], - "declarations": [ - { - "constant": false, - "id": 12894, - "mutability": "mutable", - "name": "baseLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "960:25:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "960:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12900, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12896, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "995:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12895, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "988:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:19:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "988:31:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:33:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "960:61:44" - }, - { - "assignments": [ - 12902 - ], - "declarations": [ - { - "constant": false, - "id": 12902, - "mutability": "mutable", - "name": "quoteLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1031:26:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1031:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12908, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12904, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "1067:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12903, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1060:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "1060:32:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:34:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1031:63:44" - }, - { - "assignments": [ - 12910, - 12912 - ], - "declarations": [ - { - "constant": false, - "id": 12910, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1106:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1106:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12912, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1126:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12918, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12914, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "1155:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12913, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1149:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getExpectedTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10428, - "src": "1149:30:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view external returns (uint256,uint256)" - } - }, - "id": 12917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:32:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1105:76:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12919, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1191:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12925, - "name": "baseLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12894, - "src": "1239:17:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12922, - "name": "baseLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12874, - "src": "1220:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12920, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12910, - "src": "1205:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1205:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:29:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1205:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:52:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1191:66:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12928, - "nodeType": "ExpressionStatement", - "src": "1191:66:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12929, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1267:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12935, - "name": "quoteLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12902, - "src": "1318:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12932, - "name": "quoteLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12884, - "src": "1298:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12930, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12912, - "src": "1282:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1282:15:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:31:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1282:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:55:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:70:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12938, - "nodeType": "ExpressionStatement", - "src": "1267:70:44" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 12939, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1356:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12940, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1369:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12941, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1355:27:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 12856, - "id": 12942, - "nodeType": "Return", - "src": "1348:34:44" - } - ] - }, - "documentation": null, - "functionSelector": "4e41de7f", - "id": 12944, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserStakedBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12846, - "mutability": "mutable", - "name": "_dodoMine", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "492:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "492:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12848, - "mutability": "mutable", - "name": "_dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "519:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "519:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12850, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "542:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:79:44" - }, - "returnParameters": { - "id": 12856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12853, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "585:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12855, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "606:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "606:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "584:43:44" - }, - "scope": 12945, - "src": "453:936:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "390:1001:44" - } - ], - "src": "78:1314:44" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", - "exportedSymbols": { - "DODOMineReader": [ - 12945 - ], - "IDODOMine": [ - 12841 - ] - }, - "id": 12946, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12824, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:44" - }, - { - "id": 12825, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:44" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "../intf/IDODO.sol", - "id": 12827, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10492, - "src": "136:40:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12826, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:5:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12829, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10608, - "src": "177:42:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12828, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "185:6:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 12831, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 11624, - "src": "220:45:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12830, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "228:8:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12841, - "linearizedBaseContracts": [ - 12841 - ], - "name": "IDODOMine", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "19a78f55", - "id": 12840, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getUserLpBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12833, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "320:16:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12835, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "338:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "338:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:44" - }, - "returnParameters": { - "id": 12839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12838, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "376:7:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "376:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "375:9:44" - }, - "scope": 12841, - "src": "294:91:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "268:119:44" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12945, - "linearizedBaseContracts": [ - 12945 - ], - "name": "DODOMineReader", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12844, - "libraryName": { - "contractScope": null, - "id": 12842, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "426:8:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "420:27:44", - "typeName": { - "id": 12843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 12943, - "nodeType": "Block", - "src": "628:761:44", - "statements": [ - { - "assignments": [ - 12858 - ], - "declarations": [ - { - "constant": false, - "id": 12858, - "mutability": "mutable", - "name": "baseLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "638:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "638:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12864, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12860, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "666:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12859, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "660:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "660:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:35:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "638:57:44" - }, - { - "assignments": [ - 12866 - ], - "declarations": [ - { - "constant": false, - "id": 12866, - "mutability": "mutable", - "name": "quoteLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "705:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "705:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12872, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12868, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "734:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12867, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "728:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "728:34:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:36:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:59:44" - }, - { - "assignments": [ - 12874 - ], - "declarations": [ - { - "constant": false, - "id": 12874, - "mutability": "mutable", - "name": "baseLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "775:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "775:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12882, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12879, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "837:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12880, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "850:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12876, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "809:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12875, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "799:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "799:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:57:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "775:81:44" - }, - { - "assignments": [ - 12884 - ], - "declarations": [ - { - "constant": false, - "id": 12884, - "mutability": "mutable", - "name": "quoteLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "866:22:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "866:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12892, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12889, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "929:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12890, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "943:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12886, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "901:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12885, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "891:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "891:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:58:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "866:83:44" - }, - { - "assignments": [ - 12894 - ], - "declarations": [ - { - "constant": false, - "id": 12894, - "mutability": "mutable", - "name": "baseLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "960:25:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "960:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12900, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12896, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "995:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12895, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "988:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:19:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "988:31:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:33:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "960:61:44" - }, - { - "assignments": [ - 12902 - ], - "declarations": [ - { - "constant": false, - "id": 12902, - "mutability": "mutable", - "name": "quoteLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1031:26:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1031:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12908, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12904, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "1067:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12903, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1060:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "1060:32:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:34:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1031:63:44" - }, - { - "assignments": [ - 12910, - 12912 - ], - "declarations": [ - { - "constant": false, - "id": 12910, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1106:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1106:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12912, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1126:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12918, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12914, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "1155:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12913, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1149:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getExpectedTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10428, - "src": "1149:30:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view external returns (uint256,uint256)" - } - }, - "id": 12917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:32:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1105:76:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12919, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1191:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12925, - "name": "baseLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12894, - "src": "1239:17:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12922, - "name": "baseLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12874, - "src": "1220:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12920, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12910, - "src": "1205:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1205:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:29:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1205:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:52:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1191:66:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12928, - "nodeType": "ExpressionStatement", - "src": "1191:66:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12929, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1267:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12935, - "name": "quoteLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12902, - "src": "1318:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12932, - "name": "quoteLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12884, - "src": "1298:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12930, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12912, - "src": "1282:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1282:15:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:31:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1282:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:55:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:70:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12938, - "nodeType": "ExpressionStatement", - "src": "1267:70:44" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 12939, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1356:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12940, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1369:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12941, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1355:27:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 12856, - "id": 12942, - "nodeType": "Return", - "src": "1348:34:44" - } - ] - }, - "documentation": null, - "functionSelector": "4e41de7f", - "id": 12944, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserStakedBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12846, - "mutability": "mutable", - "name": "_dodoMine", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "492:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "492:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12848, - "mutability": "mutable", - "name": "_dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "519:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "519:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12850, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "542:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:79:44" - }, - "returnParameters": { - "id": 12856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12853, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "585:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12855, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "606:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "606:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "584:43:44" - }, - "scope": 12945, - "src": "453:936:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "390:1001:44" - } - ], - "src": "78:1314:44" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.735Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODORewardVault.json b/build-v1/contracts/DODORewardVault.json deleted file mode 100644 index 6688285..0000000 --- a/build-v1/contracts/DODORewardVault.json +++ /dev/null @@ -1,1496 +0,0 @@ -{ - "contractName": "DODORewardVault", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dodoToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "dodoToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "reward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dodoToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"reward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol\":\"DODORewardVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol\":{\"keccak256\":\"0x9a1ad5dfb8c36b3750f7c3c9aef091e63bad36e2145355eb212d67988914dc1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e8ad414d377a1860b064193e015ca67187da4a47c9e925123cef4c9a6cd3448b\",\"dweb:/ipfs/QmS7Po2mSdB7Bk784Zcsxx7HFwJ17WXqKv3FuDGxH5aCFY\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060405161068638038061068683398101604081905261002f9161009d565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b0319166001600160a01b03929092169190911790556100cb565b6000602082840312156100ae578081fd5b81516001600160a01b03811681146100c4578182fd5b9392505050565b6105ac806100da6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806316048bc41461006757806321670f22146100855780634e71e0c81461009a57806375123ff9146100a25780638456db15146100aa578063f2fde38b146100b2575b600080fd5b61006f6100c5565b60405161007c9190610459565b60405180910390f35b6100986100933660046103d6565b6100d4565b005b610098610128565b61006f6101b6565b61006f6101c5565b6100986100c03660046103b4565b6101d4565b6000546001600160a01b031681565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe90610509565b60405180910390fd5b600254610124906001600160a01b0316838363ffffffff61027f16565b5050565b6001546001600160a01b031633146101525760405162461bcd60e51b81526004016100fe90610486565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6000546001600160a01b031633146101fe5760405162461bcd60e51b81526004016100fe90610509565b6001600160a01b0381166102245760405162461bcd60e51b81526004016100fe906104e2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6102d58363a9059cbb60e01b848460405160240161029e92919061046d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526102da565b505050565b60006060836001600160a01b0316836040516102f69190610420565b6000604051808303816000865af19150503d8060008114610333576040519150601f19603f3d011682016040523d82523d6000602084013e610338565b606091505b50915091508161035a5760405162461bcd60e51b81526004016100fe906104ad565b80511561039157808060200190518101906103759190610400565b6103915760405162461bcd60e51b81526004016100fe9061052c565b50505050565b80356001600160a01b03811681146103ae57600080fd5b92915050565b6000602082840312156103c5578081fd5b6103cf8383610397565b9392505050565b600080604083850312156103e8578081fd5b6103f28484610397565b946020939093013593505050565b600060208284031215610411578081fd5b815180151581146103cf578182fd5b60008251815b818110156104405760208186018101518583015201610426565b8181111561044e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b60608201526080019056fea26469706673582212205ad8caf142b7a2c457e73a7f840e61c56c23ddb79da79a892a5d31d7e8a1d28c64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806316048bc41461006757806321670f22146100855780634e71e0c81461009a57806375123ff9146100a25780638456db15146100aa578063f2fde38b146100b2575b600080fd5b61006f6100c5565b60405161007c9190610459565b60405180910390f35b6100986100933660046103d6565b6100d4565b005b610098610128565b61006f6101b6565b61006f6101c5565b6100986100c03660046103b4565b6101d4565b6000546001600160a01b031681565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe90610509565b60405180910390fd5b600254610124906001600160a01b0316838363ffffffff61027f16565b5050565b6001546001600160a01b031633146101525760405162461bcd60e51b81526004016100fe90610486565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6000546001600160a01b031633146101fe5760405162461bcd60e51b81526004016100fe90610509565b6001600160a01b0381166102245760405162461bcd60e51b81526004016100fe906104e2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6102d58363a9059cbb60e01b848460405160240161029e92919061046d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526102da565b505050565b60006060836001600160a01b0316836040516102f69190610420565b6000604051808303816000865af19150503d8060008114610333576040519150601f19603f3d011682016040523d82523d6000602084013e610338565b606091505b50915091508161035a5760405162461bcd60e51b81526004016100fe906104ad565b80511561039157808060200190518101906103759190610400565b6103915760405162461bcd60e51b81526004016100fe9061052c565b50505050565b80356001600160a01b03811681146103ae57600080fd5b92915050565b6000602082840312156103c5578081fd5b6103cf8383610397565b9392505050565b600080604083850312156103e8578081fd5b6103f28484610397565b946020939093013593505050565b600060208284031215610411578081fd5b815180151581146103cf578182fd5b60008251815b818110156104405760208186018101518583015201610426565b8181111561044e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b60608201526080019056fea26469706673582212205ad8caf142b7a2c457e73a7f840e61c56c23ddb79da79a892a5d31d7e8a1d28c64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "364:314:45:-:0;;;470:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;757;792:41;;757:7;;792:41;519:9:45;:22;;-1:-1:-1;;;;;;519:22:45;-1:-1:-1;;;;;519:22:45;;;;;;;;;;364:314;;146:263:-1;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;83:13;;-1:-1;;;;;576:54;;701:35;;691:2;;-1:-1;;740:12;691:2;319:74;223:186;-1:-1;;;223:186;;364:314:45;;;;;;", - "deployedSourceMap": "364:314:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;251:22:38;;;:::i;:::-;;;;;;;;;;;;;;;;554:122:45;;;;;;;;;:::i;:::-;;1072:225:38;;;:::i;439:24:45:-;;;:::i;279:26:38:-;;;:::i;846:220::-;;;;;;;;;:::i;251:22::-;;;-1:-1:-1;;;;;251:22:38;;:::o;554:122:45:-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;;;;;;;;;634:9:45::1;::::0;627:42:::1;::::0;-1:-1:-1;;;;;634:9:45::1;658:2:::0;662:6;627:30:::1;:42::i;:::-;554:122:::0;;:::o;1072:225:38:-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;1245:11:38;;-1:-1:-1;;;;;;1235:21:38;;;;;;;1266:24;;;1072:225::o;439:24:45:-;;;-1:-1:-1;;;;;439:24:45;;:::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;846:220::-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;::::0;-1:-1:-1;;;920:48:38;;::::1;::::0;::::1;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;2335:1027::-;3025:25;;2984:12;;2998:23;;-1:-1:-1;;;;;3025:19:40;;;:25;;3045:4;;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;;2335:1027;;;;:::o;5:130:-1:-;72:20;;-1:-1;;;;;7259:54;;7740:35;;7730:2;;7789:1;;7779:12;7730:2;57:78;;;;;414:241;;518:2;506:9;497:7;493:23;489:32;486:2;;;-1:-1;;524:12;486:2;586:53;631:7;607:22;586:53;;;576:63;480:175;-1:-1;;;480:175;662:366;;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;851:53;896:7;872:22;851:53;;;841:63;941:2;980:22;;;;344:20;;-1:-1;;;745:283;1035:257;;1147:2;1135:9;1126:7;1122:23;1118:32;1115:2;;;-1:-1;;1153:12;1115:2;223:6;217:13;7886:5;7171:13;7164:21;7864:5;7861:32;7851:2;;-1:-1;;7897:12;3592:271;;1579:5;6641:12;-1:-1;7477:101;7491:6;7488:1;7485:13;7477:101;;;1723:4;7558:11;;;;;7552:18;7539:11;;;7532:39;7506:10;7477:101;;;7593:6;7590:1;7587:13;7584:2;;;-1:-1;7649:6;7644:3;7640:16;7633:27;7584:2;-1:-1;1754:16;;;;;3726:137;-1:-1;;3726:137;3870:222;-1:-1;;;;;7259:54;;;;1370:37;;3997:2;3982:18;;3968:124;4099:333;-1:-1;;;;;7259:54;;;;1370:37;;4418:2;4403:18;;3543:37;4254:2;4239:18;;4225:207;4439:416;4639:2;4653:47;;;2007:2;4624:18;;;6939:19;-1:-1;;;6979:14;;;2023:36;2078:12;;;4610:245;4862:416;5062:2;5076:47;;;5047:18;;;6939:19;2365:34;6979:14;;;2345:55;2419:12;;;5033:245;5285:416;5485:2;5499:47;;;2670:2;5470:18;;;6939:19;-1:-1;;;6979:14;;;2686:36;2741:12;;;5456:245;5708:416;5908:2;5922:47;;;2992:1;5893:18;;;6939:19;-1:-1;;;6979:14;;;3007:32;3058:12;;;5879:245;6131:416;6331:2;6345:47;;;3309:2;6316:18;;;6939:19;3345:34;6979:14;;;3325:55;-1:-1;;;3400:12;;;3393:34;3446:12;;;6302:245", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Ownable} from \"../lib/Ownable.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\n\n\ninterface IDODORewardVault {\n function reward(address to, uint256 amount) external;\n}\n\n\ncontract DODORewardVault is Ownable {\n using SafeERC20 for IERC20;\n\n address public dodoToken;\n\n constructor(address _dodoToken) public {\n dodoToken = _dodoToken;\n }\n\n function reward(address to, uint256 amount) external onlyOwner {\n IERC20(dodoToken).safeTransfer(to, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "exportedSymbols": { - "DODORewardVault": [ - 12998 - ], - "IDODORewardVault": [ - 12962 - ] - }, - "id": 12999, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12947, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:45" - }, - { - "id": 12948, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:45" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 12950, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11272, - "src": "136:43:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12949, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 12952, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11441, - "src": "180:47:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12951, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:9:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12954, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 10608, - "src": "228:42:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12953, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "236:6:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12962, - "linearizedBaseContracts": [ - 12962 - ], - "name": "IDODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "21670f22", - "id": 12961, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12956, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "322:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12955, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "322:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12958, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "334:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "334:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "321:28:45" - }, - "returnParameters": { - "id": 12960, - "nodeType": "ParameterList", - "parameters": [], - "src": "358:0:45" - }, - "scope": 12962, - "src": "306:53:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "273:88:45" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 12963, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "392:7:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 12964, - "nodeType": "InheritanceSpecifier", - "src": "392:7:45" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12998, - "linearizedBaseContracts": [ - 12998, - 11271 - ], - "name": "DODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12967, - "libraryName": { - "contractScope": null, - "id": 12965, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "412:9:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "406:27:45", - "typeName": { - "contractScope": null, - "id": 12966, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "426:6:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "functionSelector": "75123ff9", - "id": 12969, - "mutability": "mutable", - "name": "dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12998, - "src": "439:24:45", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "439:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 12978, - "nodeType": "Block", - "src": "509:39:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12974, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "519:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12975, - "name": "_dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12971, - "src": "531:10:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "519:22:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12977, - "nodeType": "ExpressionStatement", - "src": "519:22:45" - } - ] - }, - "documentation": null, - "id": 12979, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12971, - "mutability": "mutable", - "name": "_dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12979, - "src": "482:18:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:20:45" - }, - "returnParameters": { - "id": 12973, - "nodeType": "ParameterList", - "parameters": [], - "src": "509:0:45" - }, - "scope": 12998, - "src": "470:78:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12996, - "nodeType": "Block", - "src": "617:59:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12992, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12981, - "src": "658:2:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12993, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12983, - "src": "662:6:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12989, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "634:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12988, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "627:6:45", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:17:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "627:30:45", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:42:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12995, - "nodeType": "ExpressionStatement", - "src": "627:42:45" - } - ] - }, - "documentation": null, - "functionSelector": "21670f22", - "id": 12997, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 12986, - "modifierName": { - "argumentTypes": null, - "id": 12985, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "607:9:45", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "607:9:45" - } - ], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12981, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "570:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "570:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12983, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "582:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "569:28:45" - }, - "returnParameters": { - "id": 12987, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:0:45" - }, - "scope": 12998, - "src": "554:122:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "364:314:45" - } - ], - "src": "78:601:45" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "exportedSymbols": { - "DODORewardVault": [ - 12998 - ], - "IDODORewardVault": [ - 12962 - ] - }, - "id": 12999, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12947, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:45" - }, - { - "id": 12948, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:45" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 12950, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11272, - "src": "136:43:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12949, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 12952, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11441, - "src": "180:47:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12951, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:9:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12954, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 10608, - "src": "228:42:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12953, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "236:6:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12962, - "linearizedBaseContracts": [ - 12962 - ], - "name": "IDODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "21670f22", - "id": 12961, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12956, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "322:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12955, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "322:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12958, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "334:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "334:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "321:28:45" - }, - "returnParameters": { - "id": 12960, - "nodeType": "ParameterList", - "parameters": [], - "src": "358:0:45" - }, - "scope": 12962, - "src": "306:53:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "273:88:45" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 12963, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "392:7:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 12964, - "nodeType": "InheritanceSpecifier", - "src": "392:7:45" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12998, - "linearizedBaseContracts": [ - 12998, - 11271 - ], - "name": "DODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12967, - "libraryName": { - "contractScope": null, - "id": 12965, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "412:9:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "406:27:45", - "typeName": { - "contractScope": null, - "id": 12966, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "426:6:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "functionSelector": "75123ff9", - "id": 12969, - "mutability": "mutable", - "name": "dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12998, - "src": "439:24:45", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "439:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 12978, - "nodeType": "Block", - "src": "509:39:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12974, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "519:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12975, - "name": "_dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12971, - "src": "531:10:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "519:22:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12977, - "nodeType": "ExpressionStatement", - "src": "519:22:45" - } - ] - }, - "documentation": null, - "id": 12979, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12971, - "mutability": "mutable", - "name": "_dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12979, - "src": "482:18:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:20:45" - }, - "returnParameters": { - "id": 12973, - "nodeType": "ParameterList", - "parameters": [], - "src": "509:0:45" - }, - "scope": 12998, - "src": "470:78:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12996, - "nodeType": "Block", - "src": "617:59:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12992, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12981, - "src": "658:2:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12993, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12983, - "src": "662:6:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12989, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "634:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12988, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "627:6:45", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:17:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "627:30:45", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:42:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12995, - "nodeType": "ExpressionStatement", - "src": "627:42:45" - } - ] - }, - "documentation": null, - "functionSelector": "21670f22", - "id": 12997, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 12986, - "modifierName": { - "argumentTypes": null, - "id": 12985, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "607:9:45", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "607:9:45" - } - ], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12981, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "570:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "570:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12983, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "582:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "569:28:45" - }, - "returnParameters": { - "id": 12987, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:0:45" - }, - "scope": 12998, - "src": "554:122:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "364:314:45" - } - ], - "src": "78:601:45" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.739Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOToken.json b/build-v1/contracts/DODOToken.json deleted file mode 100644 index 10966a8..0000000 --- a/build-v1/contracts/DODOToken.json +++ /dev/null @@ -1,7127 +0,0 @@ -{ - "contractName": "DODOToken", - "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": "amount", - "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": "amount", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "decimals", - "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": "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": "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": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "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": "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" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"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\":\"amount\",\"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\":\"amount\",\"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\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"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\":\"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\":\"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\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"returns\":{\"_0\":\"A uint256 specifying the amount of tokens still available for the spender.\"}},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\",\"params\":{\"amount\":\"The amount of tokens to be spent.\",\"spender\":\"The address which will spend the funds.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the the balance of.\"},\"returns\":{\"balance\":\"An uint256 representing the amount owned by the passed address.\"}},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"amount\":\"The amount to be transferred.\",\"to\":\"The address to transfer to.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"amount\":\"uint256 the amount of tokens to be transferred\",\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\"}}},\"title\":\"DODO Token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOToken.sol\":\"DODOToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOToken.sol\":{\"keccak256\":\"0xb04850d5e89e97ca51756b998152561ba9f4d284ab60cd8cc0be27b14d8d79af\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f515f4fd75c74f81c1f187982b8d0143d6bf8876602d97857b9706f92f402540\",\"dweb:/ipfs/QmPECJfxAuRzXdCTtr76yg5URmdThzPHpDG65zfYgwLtAd\"]}},\"version\":1}", - "bytecode": "0x60c06040526004608081905263444f444f60e01b60a09081526100259160009190610091565b50604080518082019091526009808252681113d113c8189a5c9960ba1b602090920191825261005691600191610091565b5060126002556b033b2e3c9fd0803ce800000060035534801561007857600080fd5b506003543360009081526004602052604090205561012c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100d257805160ff19168380011785556100ff565b828001600101855582156100ff579182015b828111156100ff5782518255916020019190600101906100e4565b5061010b92915061010f565b5090565b61012991905b8082111561010b5760008155600101610115565b90565b6107cb8061013b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010657806395d89b4114610119578063a9059cbb14610121578063dd62ed3e1461013457610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d657806323b872dd146100eb575b600080fd5b6100a0610147565b6040516100ad9190610681565b60405180910390f35b6100c96100c436600461064c565b6101d4565b6040516100ad9190610676565b6100de61023f565b6040516100ad9190610774565b6100c96100f936600461060c565b610245565b6100de6103db565b6100de6101143660046105bd565b6103e1565b6100a06103fc565b6100c961012f36600461064c565b610457565b6100de6101423660046105d8565b610527565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b820191906000526020600020905b8154815290600101906020018083116101af57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061022d908690610774565b60405180910390a35060015b92915050565b60035481565b6001600160a01b0383166000908152600460205260408120548211156102865760405162461bcd60e51b815260040161027d90610725565b60405180910390fd5b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156102c95760405162461bcd60e51b815260040161027d906106d4565b6001600160a01b0384166000908152600460205260409020546102f2908363ffffffff61055216565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610327908363ffffffff61057a16565b6001600160a01b03808516600090815260046020908152604080832094909455918716815260058252828120338252909152205461036b908363ffffffff61055216565b6001600160a01b0380861660008181526005602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103c9908690610774565b60405180910390a35060019392505050565b60025481565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b336000908152600460205260408120548211156104865760405162461bcd60e51b815260040161027d90610725565b336000908152600460205260409020546104a6908363ffffffff61055216565b33600090815260046020526040808220929092556001600160a01b038516815220546104d8908363ffffffff61057a16565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061022d908690610774565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000828211156105745760405162461bcd60e51b815260040161027d90610702565b50900390565b60008282018381101561059f5760405162461bcd60e51b815260040161027d90610751565b9392505050565b80356001600160a01b038116811461023957600080fd5b6000602082840312156105ce578081fd5b61059f83836105a6565b600080604083850312156105ea578081fd5b6105f484846105a6565b915061060384602085016105a6565b90509250929050565b600080600060608486031215610620578081fd5b833561062b8161077d565b9250602084013561063b8161077d565b929592945050506040919091013590565b6000806040838503121561065e578182fd5b61066884846105a6565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b818110156106ad57858101830151858201604001528201610691565b818111156106be5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b6001600160a01b038116811461079257600080fd5b5056fea2646970667358221220bafeb3afc7adfd898ddcf112e8acd950deaa5b7758f6617aa358132e9a8795b064736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010657806395d89b4114610119578063a9059cbb14610121578063dd62ed3e1461013457610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d657806323b872dd146100eb575b600080fd5b6100a0610147565b6040516100ad9190610681565b60405180910390f35b6100c96100c436600461064c565b6101d4565b6040516100ad9190610676565b6100de61023f565b6040516100ad9190610774565b6100c96100f936600461060c565b610245565b6100de6103db565b6100de6101143660046105bd565b6103e1565b6100a06103fc565b6100c961012f36600461064c565b610457565b6100de6101423660046105d8565b610527565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b820191906000526020600020905b8154815290600101906020018083116101af57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061022d908690610774565b60405180910390a35060015b92915050565b60035481565b6001600160a01b0383166000908152600460205260408120548211156102865760405162461bcd60e51b815260040161027d90610725565b60405180910390fd5b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156102c95760405162461bcd60e51b815260040161027d906106d4565b6001600160a01b0384166000908152600460205260409020546102f2908363ffffffff61055216565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610327908363ffffffff61057a16565b6001600160a01b03808516600090815260046020908152604080832094909455918716815260058252828120338252909152205461036b908363ffffffff61055216565b6001600160a01b0380861660008181526005602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103c9908690610774565b60405180910390a35060019392505050565b60025481565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101cc5780601f106101a1576101008083540402835291602001916101cc565b336000908152600460205260408120548211156104865760405162461bcd60e51b815260040161027d90610725565b336000908152600460205260409020546104a6908363ffffffff61055216565b33600090815260046020526040808220929092556001600160a01b038516815220546104d8908363ffffffff61057a16565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061022d908690610774565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000828211156105745760405162461bcd60e51b815260040161027d90610702565b50900390565b60008282018381101561059f5760405162461bcd60e51b815260040161027d90610751565b9392505050565b80356001600160a01b038116811461023957600080fd5b6000602082840312156105ce578081fd5b61059f83836105a6565b600080604083850312156105ea578081fd5b6105f484846105a6565b915061060384602085016105a6565b90509250929050565b600080600060608486031215610620578081fd5b833561062b8161077d565b9250602084013561063b8161077d565b929592945050506040919091013590565b6000806040838503121561065e578182fd5b61066884846105a6565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b818110156106ad57858101830151858201604001528201610691565b818111156106be5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b6001600160a01b038116811461079257600080fd5b5056fea2646970667358221220bafeb3afc7adfd898ddcf112e8acd950deaa5b7758f6617aa358132e9a8795b064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "295:29:46:-:0;237:3209;295:29;;237:3209;295:29;;;-1:-1:-1;;;295:29:46;;;;;;-1:-1:-1;;295:29:46;;:::i;:::-;-1:-1:-1;330:32:46;;;;;;;;;;;;;-1:-1:-1;;;330:32:46;;;;;;;;;;;;:::i;:::-;;395:2;369:28;;432:19;403:48;;842:72;;;;;;;;;-1:-1:-1;896:11:46;;882:10;873:20;;;;:8;:20;;;;;:34;237:3209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;237:3209:46;;;-1:-1:-1;237:3209:46;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "237:3209:46:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;330:32;;;:::i;:::-;;;;;;;;;;;;;;;;2786:199;;;;;;;;;:::i;:::-;;;;;;;;403:48;;;:::i;:::-;;;;;;;;2037:506;;;;;;;;;:::i;369:28::-;;;:::i;1637:113::-;;;;;;;;;:::i;295:29::-;;;:::i;1083:329::-;;;;;;;;;:::i;3316:128::-;;;;;;;;;:::i;330:32::-;;;;;;;;;;;;;;;-1:-1:-1;;330:32:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2786:199::-;2876:10;2852:4;2868:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;2868:28:46;;;;;;;;;;:37;;;2920;2852:4;;2868:28;;2920:37;;;;2899:6;;2920:37;;;;;;;;;;-1:-1:-1;2974:4:46;2786:199;;;;;:::o;403:48::-;;;;:::o;2037:506::-;-1:-1:-1;;;;;2181:14:46;;2147:4;2181:14;;;:8;:14;;;;;;2171:24;;;2163:55;;;;-1:-1:-1;;;2163:55:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2246:13:46;;;;;;:7;:13;;;;;;;;2260:10;2246:25;;;;;;;;2236:35;;;2228:68;;;;-1:-1:-1;;;2228:68:46;;;;;;;;;-1:-1:-1;;;;;2324:14:46;;;;;;:8;:14;;;;;;:26;;2343:6;2324:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;2307:14:46;;;;;;;:8;:14;;;;;;:43;;;;2375:12;;;;;;;:24;;2392:6;2375:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;2360:12:46;;;;;;;:8;:12;;;;;;;;:39;;;;2437:13;;;;;:7;:13;;;;;2451:10;2437:25;;;;;;;:37;;2467:6;2437:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;2409:13:46;;;;;;;:7;:13;;;;;;;;2423:10;2409:25;;;;;;;;;:65;;;;2489:26;;;;;;2409:13;2489:26;;;;2508:6;;2489:26;;;;;;;;;;-1:-1:-1;2532:4:46;2037:506;;;;;:::o;369:28::-;;;;:::o;1637:113::-;-1:-1:-1;;;;;1728:15:46;1694;1728;;;:8;:15;;;;;;;1637:113::o;295:29::-;;;;;;;;;;;;;;;-1:-1:-1;;295:29:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:329;1188:10;1145:4;1179:20;;;:8;:20;;;;;;1169:30;;;1161:61;;;;-1:-1:-1;;;1161:61:46;;;;;;;;;1265:10;1256:20;;;;:8;:20;;;;;;:32;;1281:6;1256:32;:24;:32;:::i;:::-;1242:10;1233:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;1313:12:46;;;;;;:24;;1330:6;1313:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;1298:12:46;;;;;;:8;:12;;;;;;;:39;;;;1352:32;;1361:10;;1352:32;;;;1377:6;;1352:32;;3316:128;-1:-1:-1;;;;;3414:14:46;;;3388:7;3414:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;3316:128::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;1074:157::-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;5:130:-1:-;72:20;;-1:-1;;;;;6654:54;;7240:35;;7230:2;;7289:1;;7279:12;279:241;;383:2;371:9;362:7;358:23;354:32;351:2;;;-1:-1;;389:12;351:2;451:53;496:7;472:22;451:53;;527:366;;;648:2;636:9;627:7;623:23;619:32;616:2;;;-1:-1;;654:12;616:2;716:53;761:7;737:22;716:53;;;706:63;;824:53;869:7;806:2;849:9;845:22;824:53;;;814:63;;610:283;;;;;;900:491;;;;1038:2;1026:9;1017:7;1013:23;1009:32;1006:2;;;-1:-1;;1044:12;1006:2;85:6;72:20;97:33;124:5;97:33;;;1096:63;-1:-1;1196:2;1235:22;;72:20;97:33;72:20;97:33;;;1000:391;;1204:63;;-1:-1;;;1304:2;1343:22;;;;209:20;;1000:391;1398:366;;;1519:2;1507:9;1498:7;1494:23;1490:32;1487:2;;;-1:-1;;1525:12;1487:2;1587:53;1632:7;1608:22;1587:53;;;1577:63;1677:2;1716:22;;;;209:20;;-1:-1;;;1481:283;3646:210;6566:13;;6559:21;1836:34;;3767:2;3752:18;;3738:118;3863:310;;4010:2;;4031:17;4024:47;2027:5;6189:12;6346:6;4010:2;3999:9;3995:18;6334:19;-1:-1;6872:101;6886:6;6883:1;6880:13;6872:101;;;6953:11;;;;;6947:18;6934:11;;;6374:14;6934:11;6927:39;6901:10;;6872:101;;;6988:6;6985:1;6982:13;6979:2;;;-1:-1;6374:14;7044:6;3999:9;7035:16;;7028:27;6979:2;-1:-1;7160:7;7144:14;-1:-1;;7140:28;2185:39;;;;6374:14;2185:39;;3981:192;-1:-1;;;3981:192;4180:416;4380:2;4394:47;;;2461:2;4365:18;;;6334:19;-1:-1;;;6374:14;;;2477:43;2539:12;;;4351:245;4603:416;4803:2;4817:47;;;2790:1;4788:18;;;6334:19;-1:-1;;;6374:14;;;2805:32;2856:12;;;4774:245;5026:416;5226:2;5240:47;;;3107:2;5211:18;;;6334:19;-1:-1;;;6374:14;;;3123:41;3183:12;;;5197:245;5449:416;5649:2;5663:47;;;3434:1;5634:18;;;6334:19;-1:-1;;;6374:14;;;3449:32;3500:12;;;5620:245;5872:222;3597:37;;;5999:2;5984:18;;5970:124;7181:117;-1:-1;;;;;6654:54;;7240:35;;7230:2;;7289:1;;7279:12;7230:2;7224:74;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\n\n/**\n * @title DODO Token\n * @author DODO Breeder\n */\ncontract DODOToken {\n using SafeMath for uint256;\n\n string public symbol = \"DODO\";\n string public name = \"DODO bird\";\n\n uint256 public decimals = 18;\n uint256 public totalSupply = 1000000000 * 10**18; // 1 Billion\n\n mapping(address => uint256) internal balances;\n mapping(address => mapping(address => uint256)) internal allowed;\n\n // ============ Events ============\n\n event Transfer(address indexed from, address indexed to, uint256 amount);\n\n event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n // ============ Functions ============\n\n constructor() public {\n balances[msg.sender] = totalSupply;\n }\n\n /**\n * @dev transfer token for a specified address\n * @param to The address to transfer to.\n * @param amount The amount to be transferred.\n */\n function transfer(address to, uint256 amount) public returns (bool) {\n require(amount <= balances[msg.sender], \"BALANCE_NOT_ENOUGH\");\n\n balances[msg.sender] = balances[msg.sender].sub(amount);\n balances[to] = balances[to].add(amount);\n emit Transfer(msg.sender, to, amount);\n return true;\n }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param owner The address to query the the balance of.\n * @return balance An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address owner) external view returns (uint256 balance) {\n return balances[owner];\n }\n\n /**\n * @dev Transfer tokens from one address to another\n * @param from address The address which you want to send tokens from\n * @param to address The address which you want to transfer to\n * @param amount uint256 the amount of tokens to be transferred\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public returns (bool) {\n require(amount <= balances[from], \"BALANCE_NOT_ENOUGH\");\n require(amount <= allowed[from][msg.sender], \"ALLOWANCE_NOT_ENOUGH\");\n\n balances[from] = balances[from].sub(amount);\n balances[to] = balances[to].add(amount);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount);\n emit Transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * @param spender The address which will spend the funds.\n * @param amount The amount of tokens to be spent.\n */\n function approve(address spender, uint256 amount) public returns (bool) {\n allowed[msg.sender][spender] = amount;\n emit Approval(msg.sender, spender, amount);\n return true;\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param owner address The address which owns the funds.\n * @param spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address owner, address spender) public view returns (uint256) {\n return allowed[owner][spender];\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOToken.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOToken.sol", - "exportedSymbols": { - "DODOToken": [ - 13255 - ] - }, - "id": 13256, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 13000, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:46" - }, - { - "id": 13001, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:46" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 13003, - "nodeType": "ImportDirective", - "scope": 13256, - "sourceUnit": 11624, - "src": "136:45:46", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13002, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:46", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 13004, - "nodeType": "StructuredDocumentation", - "src": "184:52:46", - "text": " @title DODO Token\n @author DODO Breeder" - }, - "fullyImplemented": true, - "id": 13255, - "linearizedBaseContracts": [ - 13255 - ], - "name": "DODOToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 13007, - "libraryName": { - "contractScope": null, - "id": 13005, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "268:8:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "262:27:46", - "typeName": { - "id": 13006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 13010, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "295:29:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 13008, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "295:6:46", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "444f444f", - "id": 13009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "318:6:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0585588d96cfcc93db303104eb4624df4d2a6f3cba84f792e748a1abd81a131e", - "typeString": "literal_string \"DODO\"" - }, - "value": "DODO" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "06fdde03", - "id": 13013, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "330:32:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 13011, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "330:6:46", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "444f444f2062697264", - "id": 13012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "351:11:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27ec73aa01f11312bc6e67cb818a8c37d36dbc3067474dbbe24066fb81b76e94", - "typeString": "literal_string \"DODO bird\"" - }, - "value": "DODO bird" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 13016, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "369:28:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "369:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 13015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "395:2:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 13023, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "403:48:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "403:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000000" - }, - "id": 13022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030303030303030", - "id": 13018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "432:10:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000_by_1", - "typeString": "int_const 1000000000" - }, - "value": "1000000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 13021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 13019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "445:2:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 13020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "449:2:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "445:6:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "432:19:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 13027, - "mutability": "mutable", - "name": "balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "471:45:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 13026, - "keyType": { - "id": 13024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "479:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "471:27:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "490:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13033, - "mutability": "mutable", - "name": "allowed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "522:64:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 13032, - "keyType": { - "id": 13028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "522:47:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 13031, - "keyType": { - "id": 13029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "549:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "541:27:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 13041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 13040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13041, - "src": "649:20:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "649:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13041, - "src": "671:18:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "671:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13039, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13041, - "src": "691:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "691:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "648:58:46" - }, - "src": "634:73:46" - }, - { - "anonymous": false, - "documentation": null, - "id": 13049, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 13048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13043, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13049, - "src": "728:21:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "728:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13045, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13049, - "src": "751:23:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13044, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "751:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13047, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13049, - "src": "776:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "776:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:64:46" - }, - "src": "713:79:46" - }, - { - "body": { - "id": 13059, - "nodeType": "Block", - "src": "863:51:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13052, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "873:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13055, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13053, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "882:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "882:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "873:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13056, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13023, - "src": "896:11:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "873:34:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13058, - "nodeType": "ExpressionStatement", - "src": "873:34:46" - } - ] - }, - "documentation": null, - "id": 13060, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13050, - "nodeType": "ParameterList", - "parameters": [], - "src": "853:2:46" - }, - "returnParameters": { - "id": 13051, - "nodeType": "ParameterList", - "parameters": [], - "src": "863:0:46" - }, - "scope": 13255, - "src": "842:72:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13113, - "nodeType": "Block", - "src": "1151:261:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13071, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1169:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13072, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1179:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13075, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1188:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1188:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1179:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1169:30:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 13077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1201:20:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 13070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1161:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1161:61:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13079, - "nodeType": "ExpressionStatement", - "src": "1161:61:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13080, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1233:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13083, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1242:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1242:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1233:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13089, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1281:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13084, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1256:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13087, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13085, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1265:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1265:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1256:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1256:24:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1256:32:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1233:55:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13092, - "nodeType": "ExpressionStatement", - "src": "1233:55:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13093, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1298:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13095, - "indexExpression": { - "argumentTypes": null, - "id": 13094, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13063, - "src": "1307:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1298:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13100, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1330:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13096, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1313:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13098, - "indexExpression": { - "argumentTypes": null, - "id": 13097, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13063, - "src": "1322:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1313:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1313:16:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1313:24:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1298:39:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13103, - "nodeType": "ExpressionStatement", - "src": "1298:39:46" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13105, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1361:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1361:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 13107, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13063, - "src": "1373:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13108, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1377:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13104, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13041, - "src": "1352:8:46", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 13109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1352:32:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13110, - "nodeType": "EmitStatement", - "src": "1347:37:46" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1401:4:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13069, - "id": 13112, - "nodeType": "Return", - "src": "1394:11:46" - } - ] - }, - "documentation": { - "id": 13061, - "nodeType": "StructuredDocumentation", - "src": "920:158:46", - "text": " @dev transfer token for a specified address\n @param to The address to transfer to.\n @param amount The amount to be transferred." - }, - "functionSelector": "a9059cbb", - "id": 13114, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13063, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13114, - "src": "1101:10:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1101:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13065, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13114, - "src": "1113:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1113:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1100:28:46" - }, - "returnParameters": { - "id": 13069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13068, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13114, - "src": "1145:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13067, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1145:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1144:6:46" - }, - "scope": 13255, - "src": "1083:329:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13126, - "nodeType": "Block", - "src": "1711:39:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13122, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1728:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13124, - "indexExpression": { - "argumentTypes": null, - "id": 13123, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13117, - "src": "1737:5:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1728:15:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13121, - "id": 13125, - "nodeType": "Return", - "src": "1721:22:46" - } - ] - }, - "documentation": { - "id": 13115, - "nodeType": "StructuredDocumentation", - "src": "1418:214:46", - "text": " @dev Gets the balance of the specified address.\n @param owner The address to query the the balance of.\n @return balance An uint256 representing the amount owned by the passed address." - }, - "functionSelector": "70a08231", - "id": 13127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13117, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13127, - "src": "1656:13:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1656:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1655:15:46" - }, - "returnParameters": { - "id": 13121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13120, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13127, - "src": "1694:15:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1694:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1693:17:46" - }, - "scope": 13255, - "src": "1637:113:46", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13207, - "nodeType": "Block", - "src": "2153:390:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13140, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2171:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13141, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2181:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13143, - "indexExpression": { - "argumentTypes": null, - "id": 13142, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2190:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2181:14:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2171:24:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 13145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2197:20:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 13139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2163:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2163:55:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13147, - "nodeType": "ExpressionStatement", - "src": "2163:55:46" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13149, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2236:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13150, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2246:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13152, - "indexExpression": { - "argumentTypes": null, - "id": 13151, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2254:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2246:13:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13155, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13153, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2260:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2260:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2246:25:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2236:35:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c4c4f57414e43455f4e4f545f454e4f554748", - "id": 13157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2273:22:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - }, - "value": "ALLOWANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - } - ], - "id": 13148, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2228:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2228:68:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13159, - "nodeType": "ExpressionStatement", - "src": "2228:68:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13160, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2307:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13162, - "indexExpression": { - "argumentTypes": null, - "id": 13161, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2316:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2307:14:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13167, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2343:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13163, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2324:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13165, - "indexExpression": { - "argumentTypes": null, - "id": 13164, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2333:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2324:14:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2324:18:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2324:26:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2307:43:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13170, - "nodeType": "ExpressionStatement", - "src": "2307:43:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13171, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2360:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13173, - "indexExpression": { - "argumentTypes": null, - "id": 13172, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13132, - "src": "2369:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2360:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13178, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2392:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13174, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2375:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13176, - "indexExpression": { - "argumentTypes": null, - "id": 13175, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13132, - "src": "2384:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2375:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2375:16:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2375:24:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2360:39:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13181, - "nodeType": "ExpressionStatement", - "src": "2360:39:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13182, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2409:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13186, - "indexExpression": { - "argumentTypes": null, - "id": 13183, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2417:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2409:13:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13187, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2423:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2423:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2409:25:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13195, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2467:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13188, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2437:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13190, - "indexExpression": { - "argumentTypes": null, - "id": 13189, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2445:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2437:13:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13193, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13191, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2451:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2451:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2437:25:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2437:29:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2437:37:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2409:65:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13198, - "nodeType": "ExpressionStatement", - "src": "2409:65:46" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13200, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2498:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13201, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13132, - "src": "2504:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13202, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2508:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13199, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13041, - "src": "2489:8:46", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 13203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2489:26:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13204, - "nodeType": "EmitStatement", - "src": "2484:31:46" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2532:4:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13138, - "id": 13206, - "nodeType": "Return", - "src": "2525:11:46" - } - ] - }, - "documentation": { - "id": 13128, - "nodeType": "StructuredDocumentation", - "src": "1756:276:46", - "text": " @dev Transfer tokens from one address to another\n @param from address The address which you want to send tokens from\n @param to address The address which you want to transfer to\n @param amount uint256 the amount of tokens to be transferred" - }, - "functionSelector": "23b872dd", - "id": 13208, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13130, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2068:12:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2068:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13132, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2090:10:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2090:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13134, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2110:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2110:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2058:72:46" - }, - "returnParameters": { - "id": 13138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13137, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2147:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13136, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2147:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2146:6:46" - }, - "scope": 13255, - "src": "2037:506:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13236, - "nodeType": "Block", - "src": "2858:127:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13218, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2868:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13222, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2876:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2876:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2868:19:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13223, - "indexExpression": { - "argumentTypes": null, - "id": 13221, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13211, - "src": "2888:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2868:28:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13224, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13213, - "src": "2899:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2868:37:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13226, - "nodeType": "ExpressionStatement", - "src": "2868:37:46" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13228, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2929:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2929:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 13230, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13211, - "src": "2941:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13231, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13213, - "src": "2950:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13227, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13049, - "src": "2920:8:46", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 13232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2920:37:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13233, - "nodeType": "EmitStatement", - "src": "2915:42:46" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2974:4:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13217, - "id": 13235, - "nodeType": "Return", - "src": "2967:11:46" - } - ] - }, - "documentation": { - "id": 13209, - "nodeType": "StructuredDocumentation", - "src": "2549:232:46", - "text": " @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n @param spender The address which will spend the funds.\n @param amount The amount of tokens to be spent." - }, - "functionSelector": "095ea7b3", - "id": 13237, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13211, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13237, - "src": "2803:15:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2803:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13213, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13237, - "src": "2820:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2820:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2802:33:46" - }, - "returnParameters": { - "id": 13217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13216, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13237, - "src": "2852:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13215, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2852:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2851:6:46" - }, - "scope": 13255, - "src": "2786:199:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13253, - "nodeType": "Block", - "src": "3397:47:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13247, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "3414:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13249, - "indexExpression": { - "argumentTypes": null, - "id": 13248, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13240, - "src": "3422:5:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3414:14:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13251, - "indexExpression": { - "argumentTypes": null, - "id": 13250, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13242, - "src": "3429:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3414:23:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13246, - "id": 13252, - "nodeType": "Return", - "src": "3407:30:46" - } - ] - }, - "documentation": { - "id": 13238, - "nodeType": "StructuredDocumentation", - "src": "2991:320:46", - "text": " @dev Function to check the amount of tokens that an owner allowed to a spender.\n @param owner address The address which owns the funds.\n @param spender address The address which will spend the funds.\n @return A uint256 specifying the amount of tokens still available for the spender." - }, - "functionSelector": "dd62ed3e", - "id": 13254, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13240, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13254, - "src": "3335:13:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3335:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13242, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13254, - "src": "3350:15:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3350:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3334:32:46" - }, - "returnParameters": { - "id": 13246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13245, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13254, - "src": "3388:7:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3388:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3387:9:46" - }, - "scope": 13255, - "src": "3316:128:46", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 13256, - "src": "237:3209:46" - } - ], - "src": "78:3369:46" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOToken.sol", - "exportedSymbols": { - "DODOToken": [ - 13255 - ] - }, - "id": 13256, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 13000, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:46" - }, - { - "id": 13001, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:46" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 13003, - "nodeType": "ImportDirective", - "scope": 13256, - "sourceUnit": 11624, - "src": "136:45:46", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13002, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:46", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 13004, - "nodeType": "StructuredDocumentation", - "src": "184:52:46", - "text": " @title DODO Token\n @author DODO Breeder" - }, - "fullyImplemented": true, - "id": 13255, - "linearizedBaseContracts": [ - 13255 - ], - "name": "DODOToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 13007, - "libraryName": { - "contractScope": null, - "id": 13005, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "268:8:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "262:27:46", - "typeName": { - "id": 13006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 13010, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "295:29:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 13008, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "295:6:46", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "444f444f", - "id": 13009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "318:6:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0585588d96cfcc93db303104eb4624df4d2a6f3cba84f792e748a1abd81a131e", - "typeString": "literal_string \"DODO\"" - }, - "value": "DODO" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "06fdde03", - "id": 13013, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "330:32:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 13011, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "330:6:46", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "444f444f2062697264", - "id": 13012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "351:11:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27ec73aa01f11312bc6e67cb818a8c37d36dbc3067474dbbe24066fb81b76e94", - "typeString": "literal_string \"DODO bird\"" - }, - "value": "DODO bird" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 13016, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "369:28:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "369:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 13015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "395:2:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 13023, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "403:48:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "403:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000000" - }, - "id": 13022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030303030303030", - "id": 13018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "432:10:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000_by_1", - "typeString": "int_const 1000000000" - }, - "value": "1000000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 13021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 13019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "445:2:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 13020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "449:2:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "445:6:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "432:19:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000000000000_by_1", - "typeString": "int_const 1000000000000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 13027, - "mutability": "mutable", - "name": "balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "471:45:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 13026, - "keyType": { - "id": 13024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "479:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "471:27:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "490:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13033, - "mutability": "mutable", - "name": "allowed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13255, - "src": "522:64:46", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 13032, - "keyType": { - "id": 13028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "522:47:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 13031, - "keyType": { - "id": 13029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "549:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "541:27:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 13041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 13040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13041, - "src": "649:20:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "649:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13041, - "src": "671:18:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "671:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13039, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13041, - "src": "691:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "691:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "648:58:46" - }, - "src": "634:73:46" - }, - { - "anonymous": false, - "documentation": null, - "id": 13049, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 13048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13043, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13049, - "src": "728:21:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "728:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13045, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13049, - "src": "751:23:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13044, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "751:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13047, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13049, - "src": "776:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "776:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:64:46" - }, - "src": "713:79:46" - }, - { - "body": { - "id": 13059, - "nodeType": "Block", - "src": "863:51:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13052, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "873:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13055, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13053, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "882:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "882:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "873:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13056, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13023, - "src": "896:11:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "873:34:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13058, - "nodeType": "ExpressionStatement", - "src": "873:34:46" - } - ] - }, - "documentation": null, - "id": 13060, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13050, - "nodeType": "ParameterList", - "parameters": [], - "src": "853:2:46" - }, - "returnParameters": { - "id": 13051, - "nodeType": "ParameterList", - "parameters": [], - "src": "863:0:46" - }, - "scope": 13255, - "src": "842:72:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13113, - "nodeType": "Block", - "src": "1151:261:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13071, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1169:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13072, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1179:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13075, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1188:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1188:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1179:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1169:30:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 13077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1201:20:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 13070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1161:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1161:61:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13079, - "nodeType": "ExpressionStatement", - "src": "1161:61:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13080, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1233:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13083, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1242:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1242:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1233:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13089, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1281:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13084, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1256:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13087, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13085, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1265:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1265:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1256:20:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1256:24:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1256:32:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1233:55:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13092, - "nodeType": "ExpressionStatement", - "src": "1233:55:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13093, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1298:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13095, - "indexExpression": { - "argumentTypes": null, - "id": 13094, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13063, - "src": "1307:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1298:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13100, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1330:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13096, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1313:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13098, - "indexExpression": { - "argumentTypes": null, - "id": 13097, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13063, - "src": "1322:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1313:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1313:16:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1313:24:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1298:39:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13103, - "nodeType": "ExpressionStatement", - "src": "1298:39:46" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13105, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1361:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1361:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 13107, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13063, - "src": "1373:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13108, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13065, - "src": "1377:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13104, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13041, - "src": "1352:8:46", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 13109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1352:32:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13110, - "nodeType": "EmitStatement", - "src": "1347:37:46" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1401:4:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13069, - "id": 13112, - "nodeType": "Return", - "src": "1394:11:46" - } - ] - }, - "documentation": { - "id": 13061, - "nodeType": "StructuredDocumentation", - "src": "920:158:46", - "text": " @dev transfer token for a specified address\n @param to The address to transfer to.\n @param amount The amount to be transferred." - }, - "functionSelector": "a9059cbb", - "id": 13114, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13063, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13114, - "src": "1101:10:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1101:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13065, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13114, - "src": "1113:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1113:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1100:28:46" - }, - "returnParameters": { - "id": 13069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13068, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13114, - "src": "1145:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13067, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1145:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1144:6:46" - }, - "scope": 13255, - "src": "1083:329:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13126, - "nodeType": "Block", - "src": "1711:39:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13122, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "1728:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13124, - "indexExpression": { - "argumentTypes": null, - "id": 13123, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13117, - "src": "1737:5:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1728:15:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13121, - "id": 13125, - "nodeType": "Return", - "src": "1721:22:46" - } - ] - }, - "documentation": { - "id": 13115, - "nodeType": "StructuredDocumentation", - "src": "1418:214:46", - "text": " @dev Gets the balance of the specified address.\n @param owner The address to query the the balance of.\n @return balance An uint256 representing the amount owned by the passed address." - }, - "functionSelector": "70a08231", - "id": 13127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13117, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13127, - "src": "1656:13:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1656:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1655:15:46" - }, - "returnParameters": { - "id": 13121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13120, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13127, - "src": "1694:15:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1694:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1693:17:46" - }, - "scope": 13255, - "src": "1637:113:46", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13207, - "nodeType": "Block", - "src": "2153:390:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13140, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2171:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13141, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2181:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13143, - "indexExpression": { - "argumentTypes": null, - "id": 13142, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2190:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2181:14:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2171:24:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 13145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2197:20:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 13139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2163:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2163:55:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13147, - "nodeType": "ExpressionStatement", - "src": "2163:55:46" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13149, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2236:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13150, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2246:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13152, - "indexExpression": { - "argumentTypes": null, - "id": 13151, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2254:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2246:13:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13155, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13153, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2260:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2260:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2246:25:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2236:35:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c4c4f57414e43455f4e4f545f454e4f554748", - "id": 13157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2273:22:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - }, - "value": "ALLOWANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - } - ], - "id": 13148, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2228:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2228:68:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13159, - "nodeType": "ExpressionStatement", - "src": "2228:68:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13160, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2307:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13162, - "indexExpression": { - "argumentTypes": null, - "id": 13161, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2316:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2307:14:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13167, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2343:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13163, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2324:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13165, - "indexExpression": { - "argumentTypes": null, - "id": 13164, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2333:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2324:14:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2324:18:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2324:26:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2307:43:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13170, - "nodeType": "ExpressionStatement", - "src": "2307:43:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13171, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2360:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13173, - "indexExpression": { - "argumentTypes": null, - "id": 13172, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13132, - "src": "2369:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2360:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13178, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2392:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13174, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13027, - "src": "2375:8:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13176, - "indexExpression": { - "argumentTypes": null, - "id": 13175, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13132, - "src": "2384:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2375:12:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2375:16:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2375:24:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2360:39:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13181, - "nodeType": "ExpressionStatement", - "src": "2360:39:46" - }, - { - "expression": { - "argumentTypes": null, - "id": 13197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13182, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2409:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13186, - "indexExpression": { - "argumentTypes": null, - "id": 13183, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2417:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2409:13:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13187, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2423:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2423:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2409:25:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13195, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2467:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13188, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2437:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13190, - "indexExpression": { - "argumentTypes": null, - "id": 13189, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2445:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2437:13:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13193, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13191, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2451:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2451:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2437:25:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2437:29:46", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2437:37:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2409:65:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13198, - "nodeType": "ExpressionStatement", - "src": "2409:65:46" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13200, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13130, - "src": "2498:4:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13201, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13132, - "src": "2504:2:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13202, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13134, - "src": "2508:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13199, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13041, - "src": "2489:8:46", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 13203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2489:26:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13204, - "nodeType": "EmitStatement", - "src": "2484:31:46" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2532:4:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13138, - "id": 13206, - "nodeType": "Return", - "src": "2525:11:46" - } - ] - }, - "documentation": { - "id": 13128, - "nodeType": "StructuredDocumentation", - "src": "1756:276:46", - "text": " @dev Transfer tokens from one address to another\n @param from address The address which you want to send tokens from\n @param to address The address which you want to transfer to\n @param amount uint256 the amount of tokens to be transferred" - }, - "functionSelector": "23b872dd", - "id": 13208, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13130, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2068:12:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2068:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13132, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2090:10:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2090:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13134, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2110:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2110:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2058:72:46" - }, - "returnParameters": { - "id": 13138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13137, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13208, - "src": "2147:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13136, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2147:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2146:6:46" - }, - "scope": 13255, - "src": "2037:506:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13236, - "nodeType": "Block", - "src": "2858:127:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13218, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "2868:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13222, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2876:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2876:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2868:19:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13223, - "indexExpression": { - "argumentTypes": null, - "id": 13221, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13211, - "src": "2888:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2868:28:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13224, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13213, - "src": "2899:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2868:37:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13226, - "nodeType": "ExpressionStatement", - "src": "2868:37:46" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13228, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2929:3:46", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2929:10:46", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 13230, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13211, - "src": "2941:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13231, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13213, - "src": "2950:6:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13227, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13049, - "src": "2920:8:46", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 13232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2920:37:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13233, - "nodeType": "EmitStatement", - "src": "2915:42:46" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2974:4:46", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 13217, - "id": 13235, - "nodeType": "Return", - "src": "2967:11:46" - } - ] - }, - "documentation": { - "id": 13209, - "nodeType": "StructuredDocumentation", - "src": "2549:232:46", - "text": " @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n @param spender The address which will spend the funds.\n @param amount The amount of tokens to be spent." - }, - "functionSelector": "095ea7b3", - "id": 13237, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13211, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13237, - "src": "2803:15:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2803:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13213, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13237, - "src": "2820:14:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2820:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2802:33:46" - }, - "returnParameters": { - "id": 13217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13216, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13237, - "src": "2852:4:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13215, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2852:4:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2851:6:46" - }, - "scope": 13255, - "src": "2786:199:46", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13253, - "nodeType": "Block", - "src": "3397:47:46", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13247, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13033, - "src": "3414:7:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 13249, - "indexExpression": { - "argumentTypes": null, - "id": 13248, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13240, - "src": "3422:5:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3414:14:46", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13251, - "indexExpression": { - "argumentTypes": null, - "id": 13250, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13242, - "src": "3429:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3414:23:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13246, - "id": 13252, - "nodeType": "Return", - "src": "3407:30:46" - } - ] - }, - "documentation": { - "id": 13238, - "nodeType": "StructuredDocumentation", - "src": "2991:320:46", - "text": " @dev Function to check the amount of tokens that an owner allowed to a spender.\n @param owner address The address which owns the funds.\n @param spender address The address which will spend the funds.\n @return A uint256 specifying the amount of tokens still available for the spender." - }, - "functionSelector": "dd62ed3e", - "id": 13254, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13240, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13254, - "src": "3335:13:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3335:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13242, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13254, - "src": "3350:15:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3350:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3334:32:46" - }, - "returnParameters": { - "id": 13246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13245, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13254, - "src": "3388:7:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3388:7:46", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3387:9:46" - }, - "scope": 13255, - "src": "3316:128:46", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 13256, - "src": "237:3209:46" - } - ], - "src": "78:3369:46" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.740Z", - "devdoc": { - "author": "DODO Breeder", - "methods": { - "allowance(address,address)": { - "details": "Function to check the amount of tokens that an owner allowed to a spender.", - "params": { - "owner": "address The address which owns the funds.", - "spender": "address The address which will spend the funds." - }, - "returns": { - "_0": "A uint256 specifying the amount of tokens still available for the spender." - } - }, - "approve(address,uint256)": { - "details": "Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.", - "params": { - "amount": "The amount of tokens to be spent.", - "spender": "The address which will spend the funds." - } - }, - "balanceOf(address)": { - "details": "Gets the balance of the specified address.", - "params": { - "owner": "The address to query the the balance of." - }, - "returns": { - "balance": "An uint256 representing the amount owned by the passed address." - } - }, - "transfer(address,uint256)": { - "details": "transfer token for a specified address", - "params": { - "amount": "The amount to be transferred.", - "to": "The address to transfer to." - } - }, - "transferFrom(address,address,uint256)": { - "details": "Transfer tokens from one address to another", - "params": { - "amount": "uint256 the amount of tokens to be transferred", - "from": "address The address which you want to send tokens from", - "to": "address The address which you want to transfer to" - } - } - }, - "title": "DODO Token" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/DODOZoo.json b/build-v1/contracts/DODOZoo.json deleted file mode 100644 index 1b5c7e8..0000000 --- a/build-v1/contracts/DODOZoo.json +++ /dev/null @@ -1,9817 +0,0 @@ -{ - "contractName": "DODOZoo", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dodoLogic", - "type": "address" - }, - { - "internalType": "address", - "name": "_cloneFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultSupervisor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newBorn", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "quoteToken", - "type": "address" - } - ], - "name": "DODOBirth", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_CLONE_FACTORY_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEFAULT_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DODO_LOGIC_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "_DODOs", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dodoLogic", - "type": "address" - } - ], - "name": "setDODOLogic", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_cloneFactory", - "type": "address" - } - ], - "name": "setCloneFactory", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_defaultSupervisor", - "type": "address" - } - ], - "name": "setDefaultSupervisor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "dodo", - "type": "address" - } - ], - "name": "removeDODO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "dodo", - "type": "address" - } - ], - "name": "addDODO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "maintainer", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "quoteToken", - "type": "address" - }, - { - "internalType": "address", - "name": "oracle", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mtFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "k", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPriceLimit", - "type": "uint256" - } - ], - "name": "breedDODO", - "outputs": [ - { - "internalType": "address", - "name": "newBornDODO", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "quoteToken", - "type": "address" - } - ], - "name": "isDODORegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "quoteToken", - "type": "address" - } - ], - "name": "getDODO", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDODOs", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoLogic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cloneFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_defaultSupervisor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newBorn\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"}],\"name\":\"DODOBirth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_CLONE_FACTORY_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEFAULT_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DODO_LOGIC_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"_DODOs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"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\":\"dodo\",\"type\":\"address\"}],\"name\":\"addDODO\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mtFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"k\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"breedDODO\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newBornDODO\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"}],\"name\":\"getDODO\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDODOs\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"}],\"name\":\"isDODORegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dodo\",\"type\":\"address\"}],\"name\":\"removeDODO\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cloneFactory\",\"type\":\"address\"}],\"name\":\"setCloneFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoLogic\",\"type\":\"address\"}],\"name\":\"setDODOLogic\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_defaultSupervisor\",\"type\":\"address\"}],\"name\":\"setDefaultSupervisor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DODOZoo\"},\"userdoc\":{\"methods\":{},\"notice\":\"Register of All DODO\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOZoo.sol\":\"DODOZoo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOZoo.sol\":{\"keccak256\":\"0x71a598d93b1c341b526767f3ffdb12245e9370da1ff3e8c7cc0e711857aaf27c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3cc76727410da56c59bc55a795210cf826cd8480b3a99cbd2454c2da86fb6f5a\",\"dweb:/ipfs/QmQBS8yrGbZ8jNNAAD9Uqc2nrHiaXFMDUjzbVYGZvvD5wz\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol\":{\"keccak256\":\"0x343dc91fe46604d9dc7583e4b969d7dbd2bcba68166bef4e608a85145e7735cc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2751f30bf5bc54890d68fd6e609dea0cc5ddc08aaa928829bffda71065e66715\",\"dweb:/ipfs/QmdtAmwxpdx8VAHFKkrEPazLJmpWj1dSv2Krdd7F3uauH9\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50604051610fc3380380610fc383398101604081905261002f916100ba565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b039485166001600160a01b03199182161790915560038054938516938216939093179092556004805491909316911617905561011e565b6000806000606084860312156100ce578283fd5b83516100d981610106565b60208501519093506100ea81610106565b60408501519092506100fb81610106565b809150509250925092565b6001600160a01b038116811461011b57600080fd5b50565b610e968061012d6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063816bd40e116100a2578063eb774d0511610071578063eb774d05146101e4578063ecfa2d24146101ec578063eef55d3d146101ff578063f2fde38b14610212578063fa20e0d9146102255761010b565b8063816bd40e146101a15780638456db15146101b45780639a07cd82146101bc578063a0b0a4d1146101c45761010b565b80634f4e6eea116100de5780634f4e6eea1461015357806352491217146101665780635891296f1461017b5780636ace4afd1461018e5761010b565b80631273b0c61461011057806316048bc4146101395780633e73d4b4146101415780634e71e0c814610149575b600080fd5b61012361011e366004610bc6565b610238565b6040516101309190610c95565b60405180910390f35b610123610267565b610123610276565b610151610285565b005b610151610161366004610b87565b61031c565b61016e610368565b6040516101309190610d29565b610151610189366004610b87565b6103ca565b61012361019c366004610bfe565b610623565b6101516101af366004610b87565b6107c8565b610123610814565b610123610823565b6101d76101d2366004610bc6565b610832565b6040516101309190610d76565b6101236108a3565b6101516101fa366004610b87565b6108b2565b61015161020d366004610b87565b610a69565b610151610220366004610b87565b610ab5565b610123610233366004610c7d565b610b60565b6001600160a01b0380831660009081526005602090815260408083208585168452909152902054165b92915050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af90610d81565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146103465760405162461bcd60e51b81526004016102af90610e25565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b606060068054806020026020016040519081016040528092919081815260200182805480156103c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a2575b5050505050905090565b6000546001600160a01b031633146103f45760405162461bcd60e51b81526004016102af90610e25565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043157600080fd5b505af1158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610baa565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e09190610baa565b90506104ec8282610832565b6105085760405162461bcd60e51b81526004016102af90610df8565b6001600160a01b038083166000908152600560209081526040808320938516835292905290812080546001600160a01b03191690555b60065460001901811161061d57836001600160a01b03166006828154811061056257fe5b6000918252602090912001546001600160a01b031614156106155760068054600019810190811061058f57fe5b600091825260209091200154600680546001600160a01b0390921691839081106105b557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060068054806105ee57fe5b600082815260209020810160001990810180546001600160a01b031916905501905561061d565b60010161053e565b50505050565b600080546001600160a01b0316331461064e5760405162461bcd60e51b81526004016102af90610e25565b6106588888610832565b156106755760405162461bcd60e51b81526004016102af90610da8565b6003546002546040516340925bc760e11b81526001600160a01b0392831692638124b78e926106a992911690600401610c95565b602060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fb9190610baa565b6000546004805460405163f00f9a0960e01b81529394506001600160a01b038086169463f00f9a09946107469490831693909216918f918f918f918f918f918f918f918f9101610ccc565b600060405180830381600087803b15801561076057600080fd5b505af1158015610774573d6000803e3d6000fd5b50505050610781816108b2565b7f5c428a2e12ecaa744a080b25b4cda8b86359c82d726575d7d747e07708071f938189896040516107b493929190610ca9565b60405180910390a198975050505050505050565b6000546001600160a01b031633146107f25760405162461bcd60e51b81526004016102af90610e25565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b038281166000908152600560209081526040808320858516845290915281205490911615801561088e57506001600160a01b038281166000908152600560209081526040808320878516845290915290205416155b1561089b57506000610261565b506001610261565b6003546001600160a01b031681565b6000546001600160a01b031633146108dc5760405162461bcd60e51b81526004016102af90610e25565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561091957600080fd5b505af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109519190610baa565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c89190610baa565b90506109d48282610832565b156109f15760405162461bcd60e51b81526004016102af90610da8565b6001600160a01b03918216600090815260056020908152604080832093851683529290529081208054929093166001600160a01b031992831681179093556006805460018101825591527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180549091169091179055565b6000546001600160a01b03163314610a935760405162461bcd60e51b81526004016102af90610e25565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610adf5760405162461bcd60e51b81526004016102af90610e25565b6001600160a01b038116610b055760405162461bcd60e51b81526004016102af90610dd1565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60068181548110610b6d57fe5b6000918252602090912001546001600160a01b0316905081565b600060208284031215610b98578081fd5b8135610ba381610e48565b9392505050565b600060208284031215610bbb578081fd5b8151610ba381610e48565b60008060408385031215610bd8578081fd5b8235610be381610e48565b91506020830135610bf381610e48565b809150509250929050565b600080600080600080600080610100898b031215610c1a578384fd5b8835610c2581610e48565b97506020890135610c3581610e48565b96506040890135610c4581610e48565b95506060890135610c5581610e48565b979a969950949760808101359660a0820135965060c0820135955060e0909101359350915050565b600060208284031215610c8e578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039a8b168152988a1660208a0152968916604089015294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b6020808252825182820181905260009190848201906040850190845b81811015610d6a5783516001600160a01b031683529284019291840191600101610d45565b50909695505050505050565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600f908201526e1113d113d7d49151d254d511549151608a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601390820152721113d113d7d393d517d49151d254d511549151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6001600160a01b0381168114610e5d57600080fd5b5056fea26469706673582212209f9d65b8a74ad719f4c083d82b808375858b7415fc8894426496fb3a8444e53964736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063816bd40e116100a2578063eb774d0511610071578063eb774d05146101e4578063ecfa2d24146101ec578063eef55d3d146101ff578063f2fde38b14610212578063fa20e0d9146102255761010b565b8063816bd40e146101a15780638456db15146101b45780639a07cd82146101bc578063a0b0a4d1146101c45761010b565b80634f4e6eea116100de5780634f4e6eea1461015357806352491217146101665780635891296f1461017b5780636ace4afd1461018e5761010b565b80631273b0c61461011057806316048bc4146101395780633e73d4b4146101415780634e71e0c814610149575b600080fd5b61012361011e366004610bc6565b610238565b6040516101309190610c95565b60405180910390f35b610123610267565b610123610276565b610151610285565b005b610151610161366004610b87565b61031c565b61016e610368565b6040516101309190610d29565b610151610189366004610b87565b6103ca565b61012361019c366004610bfe565b610623565b6101516101af366004610b87565b6107c8565b610123610814565b610123610823565b6101d76101d2366004610bc6565b610832565b6040516101309190610d76565b6101236108a3565b6101516101fa366004610b87565b6108b2565b61015161020d366004610b87565b610a69565b610151610220366004610b87565b610ab5565b610123610233366004610c7d565b610b60565b6001600160a01b0380831660009081526005602090815260408083208585168452909152902054165b92915050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af90610d81565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146103465760405162461bcd60e51b81526004016102af90610e25565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b606060068054806020026020016040519081016040528092919081815260200182805480156103c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a2575b5050505050905090565b6000546001600160a01b031633146103f45760405162461bcd60e51b81526004016102af90610e25565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043157600080fd5b505af1158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610baa565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e09190610baa565b90506104ec8282610832565b6105085760405162461bcd60e51b81526004016102af90610df8565b6001600160a01b038083166000908152600560209081526040808320938516835292905290812080546001600160a01b03191690555b60065460001901811161061d57836001600160a01b03166006828154811061056257fe5b6000918252602090912001546001600160a01b031614156106155760068054600019810190811061058f57fe5b600091825260209091200154600680546001600160a01b0390921691839081106105b557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060068054806105ee57fe5b600082815260209020810160001990810180546001600160a01b031916905501905561061d565b60010161053e565b50505050565b600080546001600160a01b0316331461064e5760405162461bcd60e51b81526004016102af90610e25565b6106588888610832565b156106755760405162461bcd60e51b81526004016102af90610da8565b6003546002546040516340925bc760e11b81526001600160a01b0392831692638124b78e926106a992911690600401610c95565b602060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fb9190610baa565b6000546004805460405163f00f9a0960e01b81529394506001600160a01b038086169463f00f9a09946107469490831693909216918f918f918f918f918f918f918f918f9101610ccc565b600060405180830381600087803b15801561076057600080fd5b505af1158015610774573d6000803e3d6000fd5b50505050610781816108b2565b7f5c428a2e12ecaa744a080b25b4cda8b86359c82d726575d7d747e07708071f938189896040516107b493929190610ca9565b60405180910390a198975050505050505050565b6000546001600160a01b031633146107f25760405162461bcd60e51b81526004016102af90610e25565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b038281166000908152600560209081526040808320858516845290915281205490911615801561088e57506001600160a01b038281166000908152600560209081526040808320878516845290915290205416155b1561089b57506000610261565b506001610261565b6003546001600160a01b031681565b6000546001600160a01b031633146108dc5760405162461bcd60e51b81526004016102af90610e25565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561091957600080fd5b505af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109519190610baa565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c89190610baa565b90506109d48282610832565b156109f15760405162461bcd60e51b81526004016102af90610da8565b6001600160a01b03918216600090815260056020908152604080832093851683529290529081208054929093166001600160a01b031992831681179093556006805460018101825591527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180549091169091179055565b6000546001600160a01b03163314610a935760405162461bcd60e51b81526004016102af90610e25565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610adf5760405162461bcd60e51b81526004016102af90610e25565b6001600160a01b038116610b055760405162461bcd60e51b81526004016102af90610dd1565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60068181548110610b6d57fe5b6000918252602090912001546001600160a01b0316905081565b600060208284031215610b98578081fd5b8135610ba381610e48565b9392505050565b600060208284031215610bbb578081fd5b8151610ba381610e48565b60008060408385031215610bd8578081fd5b8235610be381610e48565b91506020830135610bf381610e48565b809150509250929050565b600080600080600080600080610100898b031215610c1a578384fd5b8835610c2581610e48565b97506020890135610c3581610e48565b96506040890135610c4581610e48565b95506060890135610c5581610e48565b979a969950949760808101359660a0820135965060c0820135955060e0909101359350915050565b600060208284031215610c8e578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039a8b168152988a1660208a0152968916604089015294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b6020808252825182820181905260009190848201906040850190845b81811015610d6a5783516001600160a01b031683529284019291840191600101610d45565b50909695505050505050565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600f908201526e1113d113d7d49151d254d511549151608a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601390820152721113d113d7d393d517d49151d254d511549151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6001600160a01b0381168114610e5d57600080fd5b5056fea26469706673582212209f9d65b8a74ad719f4c083d82b808375858b7415fc8894426496fb3a8444e53964736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "363:3531:1:-:0;;;791:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;;757;792:41;;757:7;;792:41;921:12:1;:25;;-1:-1:-1;;;;;921:25:1;;;-1:-1:-1;;;;;;921:25:1;;;;;;;956:15;:31;;;;;;;;;;;;;;;997:20;:41;;;;;;;;;;;363:3531;;146:535:-1;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;-1:-1;;301:12;263:2;89:6;83:13;101:33;128:5;101:33;;;464:2;514:22;;83:13;353:74;;-1:-1;101:33;83:13;101:33;;;583:2;633:22;;83:13;472:74;;-1:-1;101:33;83:13;101:33;;;591:74;;;;257:424;;;;;;914:117;-1:-1;;;;;848:54;;973:35;;963:2;;1022:1;;1012:12;963:2;957:74;;;363:3531:1;;;;;;", - "deployedSourceMap": "363:3531:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3645:150;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;251:22:38;;;:::i;467:35:1:-;;;:::i;1072:225:38:-;;;:::i;:::-;;1209:115:1;;;;;;;;;:::i;3801:91::-;;;:::i;:::-;;;;;;;;1471:544;;;;;;;;;:::i;2410:839::-;;;;;;;;;:::i;1100:103::-;;;;;;;;;:::i;279:26:38:-;;;:::i;397:27:1:-;;;:::i;3304:335::-;;;;;;;;;:::i;:::-;;;;;;;;430:30;;;:::i;2021:329::-;;;;;;;;;:::i;1330:135::-;;;;;;;;;:::i;846:220:38:-;;;;;;;;;:::i;587:23:1:-;;;;;;;;;:::i;3645:150::-;-1:-1:-1;;;;;3750:26:1;;;3724:7;3750:26;;;:15;:26;;;;;;;;:38;;;;;;;;;;;;3645:150;;;;;:::o;251:22:38:-;;;-1:-1:-1;;;;;251:22:38;;:::o;467:35:1:-;;;-1:-1:-1;;;;;467:35:1;;:::o;1072:225:38:-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;;1235:21:38;;;-1:-1:-1;;;;;1245:11:38;;1235:21;;;;1266:24;;;1072:225::o;1209:115:1:-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;1286:15:1::1;:31:::0;;-1:-1:-1;;;;;;1286:31:1::1;-1:-1:-1::0;;;;;1286:31:1;;;::::1;::::0;;;::::1;::::0;;1209:115::o;3801:91::-;3844:16;3879:6;3872:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3872:13:1;;;;;;;;;;;;;;;;;;;;;;;3801:91;:::o;1471:544::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;1534:17:1::1;1560:4;-1:-1:-1::0;;;;;1554:24:1::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1534:46;;1590:18;1617:4;-1:-1:-1::0;;;;;1611:25:1::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:48;;1656:39;1673:9;1684:10;1656:16;:39::i;:::-;1648:71;;;;-1:-1:-1::0;;;1648:71:1::1;;;;;;;;;-1:-1:-1::0;;;;;1729:26:1;;::::1;1778:1;1729:26:::0;;;:15:::1;:26;::::0;;;;;;;:38;;::::1;::::0;;;;;;;;:51;;-1:-1:-1;;;;;;1729:51:1::1;::::0;;1790:219:::1;1815:6;:13:::0;-1:-1:-1;;1815:17:1;1810:22;::::1;1790:219;;1870:4;-1:-1:-1::0;;;;;1857:17:1::1;:6;1864:1;1857:9;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;1857:9:1::1;:17;1853:146;;;1906:6;1913:13:::0;;-1:-1:-1;;1913:17:1;;;1906:25;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;1894:6:::1;:9:::0;;-1:-1:-1;;;;;1906:25:1;;::::1;::::0;1901:1;;1894:9;::::1;;;;;;;;;;;;;:37;;;;;-1:-1:-1::0;;;;;1894:37:1::1;;;;;-1:-1:-1::0;;;;;1894:37:1::1;;;;;;1949:6;:12;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;1949:12:1;;;;;-1:-1:-1;;;;;;1949:12:1::1;::::0;;;;;1979:5:::1;;1853:146;1834:3;;1790:219;;;;666:1:38;;1471:544:1::0;:::o;2410:839::-;2674:19;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;2714:39:1::1;2731:9;2742:10;2714:16;:39::i;:::-;2713:40;2705:68;;;;-1:-1:-1::0;;;2705:68:1::1;;;;;;;;;2811:15;::::0;2834:12:::1;::::0;2797:50:::1;::::0;-1:-1:-1;;;2797:50:1;;-1:-1:-1;;;;;2811:15:1;;::::1;::::0;2797:36:::1;::::0;:50:::1;::::0;2834:12;::::1;::::0;2797:50:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2894:7;::::0;2915:20:::1;::::0;;2857:267:::1;::::0;-1:-1:-1;;;2857:267:1;;2783:64;;-1:-1:-1;;;;;;2857:23:1;;::::1;::::0;::::1;::::0;:267:::1;::::0;2894:7;;::::1;::::0;2915:20;;::::1;::::0;2949:10;;2973:9;;2996:10;;3020:6;;3040:9;;3063;;3086:1;;3101:13;;2857:267:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3134:20;3142:11;3134:7;:20::i;:::-;3169:45;3179:11;3192:9;3203:10;3169:45;;;;;;;;;;;;;;;;;2410:839:::0;;;;;;;;;;:::o;1100:103::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;1171:12:1::1;:25:::0;;-1:-1:-1;;;;;;1171:25:1::1;-1:-1:-1::0;;;;;1171:25:1;;;::::1;::::0;;;::::1;::::0;;1100:103::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;397:27:1:-;;;-1:-1:-1;;;;;397:27:1;;:::o;3304:335::-;-1:-1:-1;;;;;3423:26:1;;;3390:4;3423:26;;;:15;:26;;;;;;;;:38;;;;;;;;;;;3390:4;;3423:38;:52;:120;;;;-1:-1:-1;;;;;;3491:27:1;;;3541:1;3491:27;;;:15;:27;;;;;;;;:38;;;;;;;;;;;;:52;3423:120;3406:227;;;-1:-1:-1;3575:5:1;3568:12;;3406:227;-1:-1:-1;3618:4:1;3611:11;;430:30;;;-1:-1:-1;;;;;430:30:1;;:::o;2021:329::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;2079:17:1::1;2105:4;-1:-1:-1::0;;;;;2099:24:1::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2079:46;;2135:18;2162:4;-1:-1:-1::0;;;;;2156:25:1::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2135:48;;2202:39;2219:9;2230:10;2202:16;:39::i;:::-;2201:40;2193:68;;;;-1:-1:-1::0;;;2193:68:1::1;;;;;;;;;-1:-1:-1::0;;;;;2271:26:1;;::::1;;::::0;;;:15:::1;:26;::::0;;;;;;;:38;;::::1;::::0;;;;;;;;:45;;;;;::::1;-1:-1:-1::0;;;;;;2271:45:1;;::::1;::::0;::::1;::::0;;;2326:6:::1;:17:::0;;2271:45;2326:17;::::1;::::0;;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;2021:329::o;1330:135::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;1417:20:1::1;:41:::0;;-1:-1:-1;;;;;;1417:41:1::1;-1:-1:-1::0;;;;;1417:41:1;;;::::1;::::0;;;::::1;::::0;;1330:135::o;846:220:38:-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;;-1:-1:-1::0;;;920:48:38::1;;;;;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;587:23:1:-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;587:23:1;;-1:-1:-1;587:23:1;:::o;420:241:-1:-;;524:2;512:9;503:7;499:23;495:32;492:2;;;-1:-1;;530:12;492:2;85:6;72:20;97:33;124:5;97:33;;;582:63;486:175;-1:-1;;;486:175;668:263;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;226:6;220:13;238:33;265:5;238:33;;938:366;;;1059:2;1047:9;1038:7;1034:23;1030:32;1027:2;;;-1:-1;;1065:12;1027:2;85:6;72:20;97:33;124:5;97:33;;;1117:63;-1:-1;1217:2;1256:22;;72:20;97:33;72:20;97:33;;;1225:63;;;;1021:283;;;;;;1311:1121;;;;;;;;;1534:3;1522:9;1513:7;1509:23;1505:33;1502:2;;;-1:-1;;1541:12;1502:2;85:6;72:20;97:33;124:5;97:33;;;1593:63;-1:-1;1693:2;1732:22;;72:20;97:33;72:20;97:33;;;1701:63;-1:-1;1801:2;1840:22;;72:20;97:33;72:20;97:33;;;1809:63;-1:-1;1909:2;1948:22;;72:20;97:33;72:20;97:33;;;1496:936;;;;-1:-1;1496:936;;2017:3;2057:22;;350:20;;2126:3;2166:22;;350:20;;-1:-1;2235:3;2275:22;;350:20;;-1:-1;2344:3;2384:22;;;350:20;;-1:-1;1496:936;-1:-1;;1496:936;2439:241;;2543:2;2531:9;2522:7;2518:23;2514:32;2511:2;;;-1:-1;;2549:12;2511:2;-1:-1;350:20;;2505:175;-1:-1;2505:175;5672:222;-1:-1;;;;;11324:54;;;;2930:37;;5799:2;5784:18;;5770:124;5901:444;-1:-1;;;;;11324:54;;;2930:37;;11324:54;;;6248:2;6233:18;;2930:37;11324:54;;;6331:2;6316:18;;2930:37;6084:2;6069:18;;6055:290;6352:1228;-1:-1;;;;;11324:54;;;2930:37;;11324:54;;;6896:2;6881:18;;2930:37;11324:54;;;6979:2;6964:18;;2930:37;11324:54;;;7062:2;7047:18;;2930:37;11324:54;;;7145:3;7130:19;;2930:37;11324:54;;11335:42;7214:19;;2930:37;7313:3;7298:19;;5623:37;;;;7397:3;7382:19;;5623:37;;;;7481:3;7466:19;;5623:37;;;;7565:3;7550:19;;5623:37;;;;6731:3;6716:19;;6702:878;7587:370;7764:2;7778:47;;;10557:12;;7749:18;;;10832:19;;;7587:370;;7764:2;10411:14;;;;10872;;;;7587:370;3538:260;3563:6;3560:1;3557:13;3538:260;;;3624:13;;-1:-1;;;;;11324:54;2930:37;;10687:14;;;;2841;;;;11335:42;3578:9;3538:260;;;-1:-1;7831:116;;7735:222;-1:-1;;;;;;7735:222;7964:210;11236:13;;11229:21;3893:34;;8085:2;8070:18;;8056:118;8181:416;8381:2;8395:47;;;4164:2;8366:18;;;10832:19;-1:-1;;;10872:14;;;4180:36;4235:12;;;8352:245;8604:416;8804:2;8818:47;;;4486:2;8789:18;;;10832:19;-1:-1;;;10872:14;;;4502:38;4559:12;;;8775:245;9027:416;9227:2;9241:47;;;4810:2;9212:18;;;10832:19;-1:-1;;;10872:14;;;4826:36;4881:12;;;9198:245;9450:416;9650:2;9664:47;;;5132:2;9635:18;;;10832:19;-1:-1;;;10872:14;;;5148:42;5209:12;;;9621:245;9873:416;10073:2;10087:47;;;5460:1;10058:18;;;10832:19;-1:-1;;;10872:14;;;5475:32;5526:12;;;10044:245;11469:117;-1:-1;;;;;11324:54;;11528:35;;11518:2;;11577:1;;11567:12;11518:2;11512:74;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Ownable} from \"./lib/Ownable.sol\";\nimport {IDODO} from \"./intf/IDODO.sol\";\nimport {ICloneFactory} from \"./helper/CloneFactory.sol\";\n\n\n/**\n * @title DODOZoo\n * @author DODO Breeder\n *\n * @notice Register of All DODO\n */\ncontract DODOZoo is Ownable {\n address public _DODO_LOGIC_;\n address public _CLONE_FACTORY_;\n\n address public _DEFAULT_SUPERVISOR_;\n\n mapping(address => mapping(address => address)) internal _DODO_REGISTER_;\n address[] public _DODOs;\n\n // ============ Events ============\n\n event DODOBirth(address newBorn, address baseToken, address quoteToken);\n\n // ============ Constructor Function ============\n\n constructor(\n address _dodoLogic,\n address _cloneFactory,\n address _defaultSupervisor\n ) public {\n _DODO_LOGIC_ = _dodoLogic;\n _CLONE_FACTORY_ = _cloneFactory;\n _DEFAULT_SUPERVISOR_ = _defaultSupervisor;\n }\n\n // ============ Admin Function ============\n\n function setDODOLogic(address _dodoLogic) external onlyOwner {\n _DODO_LOGIC_ = _dodoLogic;\n }\n\n function setCloneFactory(address _cloneFactory) external onlyOwner {\n _CLONE_FACTORY_ = _cloneFactory;\n }\n\n function setDefaultSupervisor(address _defaultSupervisor) external onlyOwner {\n _DEFAULT_SUPERVISOR_ = _defaultSupervisor;\n }\n\n function removeDODO(address dodo) external onlyOwner {\n address baseToken = IDODO(dodo)._BASE_TOKEN_();\n address quoteToken = IDODO(dodo)._QUOTE_TOKEN_();\n require(isDODORegistered(baseToken, quoteToken), \"DODO_NOT_REGISTERED\");\n _DODO_REGISTER_[baseToken][quoteToken] = address(0);\n for (uint256 i = 0; i <= _DODOs.length - 1; i++) {\n if (_DODOs[i] == dodo) {\n _DODOs[i] = _DODOs[_DODOs.length - 1];\n _DODOs.pop();\n break;\n }\n }\n }\n\n function addDODO(address dodo) public onlyOwner {\n address baseToken = IDODO(dodo)._BASE_TOKEN_();\n address quoteToken = IDODO(dodo)._QUOTE_TOKEN_();\n require(!isDODORegistered(baseToken, quoteToken), \"DODO_REGISTERED\");\n _DODO_REGISTER_[baseToken][quoteToken] = dodo;\n _DODOs.push(dodo);\n }\n\n // ============ Breed DODO Function ============\n\n function breedDODO(\n address maintainer,\n address baseToken,\n address quoteToken,\n address oracle,\n uint256 lpFeeRate,\n uint256 mtFeeRate,\n uint256 k,\n uint256 gasPriceLimit\n ) external onlyOwner returns (address newBornDODO) {\n require(!isDODORegistered(baseToken, quoteToken), \"DODO_REGISTERED\");\n newBornDODO = ICloneFactory(_CLONE_FACTORY_).clone(_DODO_LOGIC_);\n IDODO(newBornDODO).init(\n _OWNER_,\n _DEFAULT_SUPERVISOR_,\n maintainer,\n baseToken,\n quoteToken,\n oracle,\n lpFeeRate,\n mtFeeRate,\n k,\n gasPriceLimit\n );\n addDODO(newBornDODO);\n emit DODOBirth(newBornDODO, baseToken, quoteToken);\n return newBornDODO;\n }\n\n // ============ View Functions ============\n\n function isDODORegistered(address baseToken, address quoteToken) public view returns (bool) {\n if (\n _DODO_REGISTER_[baseToken][quoteToken] == address(0) &&\n _DODO_REGISTER_[quoteToken][baseToken] == address(0)\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n function getDODO(address baseToken, address quoteToken) external view returns (address) {\n return _DODO_REGISTER_[baseToken][quoteToken];\n }\n\n function getDODOs() external view returns (address[] memory) {\n return _DODOs;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOZoo.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOZoo.sol", - "exportedSymbols": { - "DODOZoo": [ - 1522 - ] - }, - "id": 1523, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1168, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:1" - }, - { - "id": 1169, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:1" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "./lib/Ownable.sol", - "id": 1171, - "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 11272, - "src": "136:42:1", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1170, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "./intf/IDODO.sol", - "id": 1173, - "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 10492, - "src": "179:39:1", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1172, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "187:5:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "file": "./helper/CloneFactory.sol", - "id": 1175, - "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 2009, - "src": "219:56:1", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1174, - "name": "ICloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "227:13:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1177, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "383:7:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 1178, - "nodeType": "InheritanceSpecifier", - "src": "383:7:1" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": { - "id": 1176, - "nodeType": "StructuredDocumentation", - "src": "278:84:1", - "text": " @title DODOZoo\n @author DODO Breeder\n @notice Register of All DODO" - }, - "fullyImplemented": true, - "id": 1522, - "linearizedBaseContracts": [ - 1522, - 11271 - ], - "name": "DODOZoo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9a07cd82", - "id": 1180, - "mutability": "mutable", - "name": "_DODO_LOGIC_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "397:27:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "397:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb774d05", - "id": 1182, - "mutability": "mutable", - "name": "_CLONE_FACTORY_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "430:30:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "430:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3e73d4b4", - "id": 1184, - "mutability": "mutable", - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "467:35:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1190, - "mutability": "mutable", - "name": "_DODO_REGISTER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "509:72:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - }, - "typeName": { - "id": 1189, - "keyType": { - "id": 1185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "517:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "509:47:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - }, - "valueType": { - "id": 1188, - "keyType": { - "id": 1186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "528:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "valueType": { - "id": 1187, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "fa20e0d9", - "id": 1193, - "mutability": "mutable", - "name": "_DODOs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "587:23:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "587:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1192, - "length": null, - "nodeType": "ArrayTypeName", - "src": "587:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1201, - "name": "DODOBirth", - "nodeType": "EventDefinition", - "parameters": { - "id": 1200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1195, - "indexed": false, - "mutability": "mutable", - "name": "newBorn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "674:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "674:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1197, - "indexed": false, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "691:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "691:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1199, - "indexed": false, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "710:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "710:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "673:56:1" - }, - "src": "658:72:1" - }, - { - "body": { - "id": 1222, - "nodeType": "Block", - "src": "911:134:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1210, - "name": "_DODO_LOGIC_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "921:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1211, - "name": "_dodoLogic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "936:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "921:25:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1213, - "nodeType": "ExpressionStatement", - "src": "921:25:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1214, - "name": "_CLONE_FACTORY_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "956:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1215, - "name": "_cloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1205, - "src": "974:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "956:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1217, - "nodeType": "ExpressionStatement", - "src": "956:31:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1218, - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "997:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1219, - "name": "_defaultSupervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1207, - "src": "1020:18:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "997:41:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1221, - "nodeType": "ExpressionStatement", - "src": "997:41:1" - } - ] - }, - "documentation": null, - "id": 1223, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1203, - "mutability": "mutable", - "name": "_dodoLogic", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1223, - "src": "812:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "812:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1205, - "mutability": "mutable", - "name": "_cloneFactory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1223, - "src": "840:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1204, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "840:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1207, - "mutability": "mutable", - "name": "_defaultSupervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1223, - "src": "871:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "871:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:101:1" - }, - "returnParameters": { - "id": 1209, - "nodeType": "ParameterList", - "parameters": [], - "src": "911:0:1" - }, - "scope": 1522, - "src": "791:254:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1234, - "nodeType": "Block", - "src": "1161:42:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1230, - "name": "_DODO_LOGIC_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "1171:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1231, - "name": "_dodoLogic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "1186:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1171:25:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1233, - "nodeType": "ExpressionStatement", - "src": "1171:25:1" - } - ] - }, - "documentation": null, - "functionSelector": "816bd40e", - "id": 1235, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1228, - "modifierName": { - "argumentTypes": null, - "id": 1227, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1151:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1151:9:1" - } - ], - "name": "setDODOLogic", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1225, - "mutability": "mutable", - "name": "_dodoLogic", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1235, - "src": "1122:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1122:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:20:1" - }, - "returnParameters": { - "id": 1229, - "nodeType": "ParameterList", - "parameters": [], - "src": "1161:0:1" - }, - "scope": 1522, - "src": "1100:103:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1246, - "nodeType": "Block", - "src": "1276:48:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1242, - "name": "_CLONE_FACTORY_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "1286:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1243, - "name": "_cloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "1304:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1286:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "1286:31:1" - } - ] - }, - "documentation": null, - "functionSelector": "4f4e6eea", - "id": 1247, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1240, - "modifierName": { - "argumentTypes": null, - "id": 1239, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1266:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1266:9:1" - } - ], - "name": "setCloneFactory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1237, - "mutability": "mutable", - "name": "_cloneFactory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1247, - "src": "1234:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1234:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1233:23:1" - }, - "returnParameters": { - "id": 1241, - "nodeType": "ParameterList", - "parameters": [], - "src": "1276:0:1" - }, - "scope": 1522, - "src": "1209:115:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "1407:58:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1254, - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "1417:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1255, - "name": "_defaultSupervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "1440:18:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1417:41:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1257, - "nodeType": "ExpressionStatement", - "src": "1417:41:1" - } - ] - }, - "documentation": null, - "functionSelector": "eef55d3d", - "id": 1259, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1252, - "modifierName": { - "argumentTypes": null, - "id": 1251, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1397:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1397:9:1" - } - ], - "name": "setDefaultSupervisor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "mutability": "mutable", - "name": "_defaultSupervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1259, - "src": "1360:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1360:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1359:28:1" - }, - "returnParameters": { - "id": 1253, - "nodeType": "ParameterList", - "parameters": [], - "src": "1407:0:1" - }, - "scope": 1522, - "src": "1330:135:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1340, - "nodeType": "Block", - "src": "1524:491:1", - "statements": [ - { - "assignments": [ - 1267 - ], - "declarations": [ - { - "constant": false, - "id": 1267, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1340, - "src": "1534:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1534:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1273, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1269, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "1560:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1268, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1554:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1554:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10485, - "src": "1554:24:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1554:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1534:46:1" - }, - { - "assignments": [ - 1275 - ], - "declarations": [ - { - "constant": false, - "id": 1275, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1340, - "src": "1590:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1281, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1277, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "1617:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1276, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1611:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "1611:25:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1590:48:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1284, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1267, - "src": "1673:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1285, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "1684:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1283, - "name": "isDODORegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "1656:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1656:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f52454749535445524544", - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1697:21:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b50ecbf3dec9c1d08f8b11752d744ffea1bb705d81bfe5ed0e82dd347f6f85af", - "typeString": "literal_string \"DODO_NOT_REGISTERED\"" - }, - "value": "DODO_NOT_REGISTERED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b50ecbf3dec9c1d08f8b11752d744ffea1bb705d81bfe5ed0e82dd347f6f85af", - "typeString": "literal_string \"DODO_NOT_REGISTERED\"" - } - ], - "id": 1282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1648:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1648:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1289, - "nodeType": "ExpressionStatement", - "src": "1648:71:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1290, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "1729:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1293, - "indexExpression": { - "argumentTypes": null, - "id": 1291, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1267, - "src": "1745:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1729:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1294, - "indexExpression": { - "argumentTypes": null, - "id": 1292, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "1756:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1729:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1778:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1770:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1770:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1770:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1729:51:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1300, - "nodeType": "ExpressionStatement", - "src": "1729:51:1" - }, - { - "body": { - "id": 1338, - "nodeType": "Block", - "src": "1839:170:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1314, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1857:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1316, - "indexExpression": { - "argumentTypes": null, - "id": 1315, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1864:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1857:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1317, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "1870:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1857:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1337, - "nodeType": "IfStatement", - "src": "1853:146:1", - "trueBody": { - "id": 1336, - "nodeType": "Block", - "src": "1876:123:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1319, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1894:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1321, - "indexExpression": { - "argumentTypes": null, - "id": 1320, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1901:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1894:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1322, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1906:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1327, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1323, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1913:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1913:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1929:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1913:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1906:25:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1894:37:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1329, - "nodeType": "ExpressionStatement", - "src": "1894:37:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1330, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1949:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1949:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1949:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "1949:12:1" - }, - { - "id": 1335, - "nodeType": "Break", - "src": "1979:5:1" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1305, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1810:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1306, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1815:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1831:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1815:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1810:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1339, - "initializationExpression": { - "assignments": [ - 1302 - ], - "declarations": [ - { - "constant": false, - "id": 1302, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1339, - "src": "1795:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1795:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1304, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1807:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1795:13:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1834:3:1", - "subExpression": { - "argumentTypes": null, - "id": 1311, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1834:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1313, - "nodeType": "ExpressionStatement", - "src": "1834:3:1" - }, - "nodeType": "ForStatement", - "src": "1790:219:1" - } - ] - }, - "documentation": null, - "functionSelector": "5891296f", - "id": 1341, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1264, - "modifierName": { - "argumentTypes": null, - "id": 1263, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1514:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1514:9:1" - } - ], - "name": "removeDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "mutability": "mutable", - "name": "dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1341, - "src": "1491:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1491:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1490:14:1" - }, - "returnParameters": { - "id": 1265, - "nodeType": "ParameterList", - "parameters": [], - "src": "1524:0:1" - }, - "scope": 1522, - "src": "1471:544:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1387, - "nodeType": "Block", - "src": "2069:281:1", - "statements": [ - { - "assignments": [ - 1349 - ], - "declarations": [ - { - "constant": false, - "id": 1349, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1387, - "src": "2079:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1348, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2079:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1355, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1351, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2105:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1350, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2099:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2099:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10485, - "src": "2099:24:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2099:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2079:46:1" - }, - { - "assignments": [ - 1357 - ], - "declarations": [ - { - "constant": false, - "id": 1357, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1387, - "src": "2135:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1356, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2135:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1363, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1359, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2162:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1358, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2156:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2156:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "2156:25:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2156:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2135:48:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2201:40:1", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1366, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "2219:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1367, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "2230:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1365, - "name": "isDODORegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "2202:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 1368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2202:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f52454749535445524544", - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2243:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - }, - "value": "DODO_REGISTERED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - } - ], - "id": 1364, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2193:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1372, - "nodeType": "ExpressionStatement", - "src": "2193:68:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1373, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "2271:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1376, - "indexExpression": { - "argumentTypes": null, - "id": 1374, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "2287:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2271:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1377, - "indexExpression": { - "argumentTypes": null, - "id": 1375, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "2298:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2271:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1378, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2312:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2271:45:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1380, - "nodeType": "ExpressionStatement", - "src": "2271:45:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1384, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2338:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1381, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "2326:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2326:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2326:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1386, - "nodeType": "ExpressionStatement", - "src": "2326:17:1" - } - ] - }, - "documentation": null, - "functionSelector": "ecfa2d24", - "id": 1388, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1346, - "modifierName": { - "argumentTypes": null, - "id": 1345, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2059:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2059:9:1" - } - ], - "name": "addDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1343, - "mutability": "mutable", - "name": "dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1388, - "src": "2038:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2038:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2037:14:1" - }, - "returnParameters": { - "id": 1347, - "nodeType": "ParameterList", - "parameters": [], - "src": "2069:0:1" - }, - "scope": 1522, - "src": "2021:329:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1457, - "nodeType": "Block", - "src": "2695:554:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2713:40:1", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1413, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "2731:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1414, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "2742:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1412, - "name": "isDODORegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "2714:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2714:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f52454749535445524544", - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2755:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - }, - "value": "DODO_REGISTERED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - } - ], - "id": 1411, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2705:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2705:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1419, - "nodeType": "ExpressionStatement", - "src": "2705:68:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1420, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "2783:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1425, - "name": "_DODO_LOGIC_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "2834:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1422, - "name": "_CLONE_FACTORY_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "2811:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1421, - "name": "ICloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1986, - "src": "2797:13:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ICloneFactory_$1986_$", - "typeString": "type(contract ICloneFactory)" - } - }, - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2797:30:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ICloneFactory_$1986", - "typeString": "contract ICloneFactory" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clone", - "nodeType": "MemberAccess", - "referencedDeclaration": 1985, - "src": "2797:36:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_address_$", - "typeString": "function (address) external returns (address)" - } - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2797:50:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2783:64:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1428, - "nodeType": "ExpressionStatement", - "src": "2783:64:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1433, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "2894:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1434, - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "2915:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1435, - "name": "maintainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "2949:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1436, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "2973:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1437, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "2996:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1438, - "name": "oracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "3020:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1439, - "name": "lpFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "3040:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1440, - "name": "mtFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "3063:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1441, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "3086:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1442, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1404, - "src": "3101:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1430, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "2863:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1429, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2857:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2857:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "init", - "nodeType": "MemberAccess", - "referencedDeclaration": 10377, - "src": "2857:23:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,address,address,address,uint256,uint256,uint256,uint256) external" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2857:267:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "ExpressionStatement", - "src": "2857:267:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1446, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "3142:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1445, - "name": "addDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "3134:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3134:20:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1448, - "nodeType": "ExpressionStatement", - "src": "3134:20:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1450, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "3179:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1451, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "3192:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1452, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "3203:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1449, - "name": "DODOBirth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "3169:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3169:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1454, - "nodeType": "EmitStatement", - "src": "3164:50:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1455, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "3231:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1410, - "id": 1456, - "nodeType": "Return", - "src": "3224:18:1" - } - ] - }, - "documentation": null, - "functionSelector": "6ace4afd", - "id": 1458, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1407, - "modifierName": { - "argumentTypes": null, - "id": 1406, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2655:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2655:9:1" - } - ], - "name": "breedDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1390, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2438:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2438:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1392, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2466:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2466:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1394, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2493:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2493:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1396, - "mutability": "mutable", - "name": "oracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2521:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1395, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2521:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1398, - "mutability": "mutable", - "name": "lpFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2545:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2545:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1400, - "mutability": "mutable", - "name": "mtFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2572:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2572:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1402, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2599:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2599:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1404, - "mutability": "mutable", - "name": "gasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2618:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2618:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2428:217:1" - }, - "returnParameters": { - "id": 1410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1409, - "mutability": "mutable", - "name": "newBornDODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2674:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2674:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2673:21:1" - }, - "scope": 1522, - "src": "2410:839:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1495, - "nodeType": "Block", - "src": "3396:243:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1467, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "3423:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1469, - "indexExpression": { - "argumentTypes": null, - "id": 1468, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "3439:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3423:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1471, - "indexExpression": { - "argumentTypes": null, - "id": 1470, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1462, - "src": "3450:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3423:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3473:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3465:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3465:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3465:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3423:52:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1477, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "3491:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1479, - "indexExpression": { - "argumentTypes": null, - "id": 1478, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1462, - "src": "3507:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3491:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1481, - "indexExpression": { - "argumentTypes": null, - "id": 1480, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "3519:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3491:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3541:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3533:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3533:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3533:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3491:52:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3423:120:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1493, - "nodeType": "Block", - "src": "3597:36:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3618:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1466, - "id": 1492, - "nodeType": "Return", - "src": "3611:11:1" - } - ] - }, - "id": 1494, - "nodeType": "IfStatement", - "src": "3406:227:1", - "trueBody": { - "id": 1490, - "nodeType": "Block", - "src": "3554:37:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3575:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1466, - "id": 1489, - "nodeType": "Return", - "src": "3568:12:1" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "a0b0a4d1", - "id": 1496, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isDODORegistered", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1460, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1496, - "src": "3330:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3330:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1462, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1496, - "src": "3349:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3349:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3329:39:1" - }, - "returnParameters": { - "id": 1466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1465, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1496, - "src": "3390:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1464, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3390:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3389:6:1" - }, - "scope": 1522, - "src": "3304:335:1", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1511, - "nodeType": "Block", - "src": "3733:62:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1505, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "3750:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1507, - "indexExpression": { - "argumentTypes": null, - "id": 1506, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1498, - "src": "3766:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3750:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1509, - "indexExpression": { - "argumentTypes": null, - "id": 1508, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1500, - "src": "3777:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3750:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1504, - "id": 1510, - "nodeType": "Return", - "src": "3743:45:1" - } - ] - }, - "documentation": null, - "functionSelector": "1273b0c6", - "id": 1512, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1498, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1512, - "src": "3662:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1497, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3662:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1500, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1512, - "src": "3681:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3681:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3661:39:1" - }, - "returnParameters": { - "id": 1504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1503, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1512, - "src": "3724:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1502, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3723:9:1" - }, - "scope": 1522, - "src": "3645:150:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1520, - "nodeType": "Block", - "src": "3862:30:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1518, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "3879:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 1517, - "id": 1519, - "nodeType": "Return", - "src": "3872:13:1" - } - ] - }, - "documentation": null, - "functionSelector": "52491217", - "id": 1521, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDODOs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1513, - "nodeType": "ParameterList", - "parameters": [], - "src": "3818:2:1" - }, - "returnParameters": { - "id": 1517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1516, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1521, - "src": "3844:16:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3844:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1515, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3844:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3843:18:1" - }, - "scope": 1522, - "src": "3801:91:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1523, - "src": "363:3531:1" - } - ], - "src": "78:3817:1" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOZoo.sol", - "exportedSymbols": { - "DODOZoo": [ - 1522 - ] - }, - "id": 1523, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1168, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:1" - }, - { - "id": 1169, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:1" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "./lib/Ownable.sol", - "id": 1171, - "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 11272, - "src": "136:42:1", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1170, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "./intf/IDODO.sol", - "id": 1173, - "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 10492, - "src": "179:39:1", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1172, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "187:5:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "file": "./helper/CloneFactory.sol", - "id": 1175, - "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 2009, - "src": "219:56:1", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1174, - "name": "ICloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "227:13:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1177, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "383:7:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 1178, - "nodeType": "InheritanceSpecifier", - "src": "383:7:1" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": { - "id": 1176, - "nodeType": "StructuredDocumentation", - "src": "278:84:1", - "text": " @title DODOZoo\n @author DODO Breeder\n @notice Register of All DODO" - }, - "fullyImplemented": true, - "id": 1522, - "linearizedBaseContracts": [ - 1522, - 11271 - ], - "name": "DODOZoo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9a07cd82", - "id": 1180, - "mutability": "mutable", - "name": "_DODO_LOGIC_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "397:27:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "397:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb774d05", - "id": 1182, - "mutability": "mutable", - "name": "_CLONE_FACTORY_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "430:30:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "430:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3e73d4b4", - "id": 1184, - "mutability": "mutable", - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "467:35:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "467:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1190, - "mutability": "mutable", - "name": "_DODO_REGISTER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "509:72:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - }, - "typeName": { - "id": 1189, - "keyType": { - "id": 1185, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "517:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "509:47:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - }, - "valueType": { - "id": 1188, - "keyType": { - "id": 1186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "528:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "valueType": { - "id": 1187, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "547:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "fa20e0d9", - "id": 1193, - "mutability": "mutable", - "name": "_DODOs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1522, - "src": "587:23:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "587:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1192, - "length": null, - "nodeType": "ArrayTypeName", - "src": "587:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1201, - "name": "DODOBirth", - "nodeType": "EventDefinition", - "parameters": { - "id": 1200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1195, - "indexed": false, - "mutability": "mutable", - "name": "newBorn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "674:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "674:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1197, - "indexed": false, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "691:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "691:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1199, - "indexed": false, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "710:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "710:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "673:56:1" - }, - "src": "658:72:1" - }, - { - "body": { - "id": 1222, - "nodeType": "Block", - "src": "911:134:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1210, - "name": "_DODO_LOGIC_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "921:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1211, - "name": "_dodoLogic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "936:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "921:25:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1213, - "nodeType": "ExpressionStatement", - "src": "921:25:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1214, - "name": "_CLONE_FACTORY_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "956:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1215, - "name": "_cloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1205, - "src": "974:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "956:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1217, - "nodeType": "ExpressionStatement", - "src": "956:31:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1218, - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "997:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1219, - "name": "_defaultSupervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1207, - "src": "1020:18:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "997:41:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1221, - "nodeType": "ExpressionStatement", - "src": "997:41:1" - } - ] - }, - "documentation": null, - "id": 1223, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1203, - "mutability": "mutable", - "name": "_dodoLogic", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1223, - "src": "812:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "812:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1205, - "mutability": "mutable", - "name": "_cloneFactory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1223, - "src": "840:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1204, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "840:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1207, - "mutability": "mutable", - "name": "_defaultSupervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1223, - "src": "871:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "871:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:101:1" - }, - "returnParameters": { - "id": 1209, - "nodeType": "ParameterList", - "parameters": [], - "src": "911:0:1" - }, - "scope": 1522, - "src": "791:254:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1234, - "nodeType": "Block", - "src": "1161:42:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1230, - "name": "_DODO_LOGIC_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "1171:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1231, - "name": "_dodoLogic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "1186:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1171:25:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1233, - "nodeType": "ExpressionStatement", - "src": "1171:25:1" - } - ] - }, - "documentation": null, - "functionSelector": "816bd40e", - "id": 1235, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1228, - "modifierName": { - "argumentTypes": null, - "id": 1227, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1151:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1151:9:1" - } - ], - "name": "setDODOLogic", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1225, - "mutability": "mutable", - "name": "_dodoLogic", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1235, - "src": "1122:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1122:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:20:1" - }, - "returnParameters": { - "id": 1229, - "nodeType": "ParameterList", - "parameters": [], - "src": "1161:0:1" - }, - "scope": 1522, - "src": "1100:103:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1246, - "nodeType": "Block", - "src": "1276:48:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1242, - "name": "_CLONE_FACTORY_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "1286:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1243, - "name": "_cloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1237, - "src": "1304:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1286:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "1286:31:1" - } - ] - }, - "documentation": null, - "functionSelector": "4f4e6eea", - "id": 1247, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1240, - "modifierName": { - "argumentTypes": null, - "id": 1239, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1266:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1266:9:1" - } - ], - "name": "setCloneFactory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1237, - "mutability": "mutable", - "name": "_cloneFactory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1247, - "src": "1234:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1234:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1233:23:1" - }, - "returnParameters": { - "id": 1241, - "nodeType": "ParameterList", - "parameters": [], - "src": "1276:0:1" - }, - "scope": 1522, - "src": "1209:115:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "1407:58:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1254, - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "1417:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1255, - "name": "_defaultSupervisor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "1440:18:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1417:41:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1257, - "nodeType": "ExpressionStatement", - "src": "1417:41:1" - } - ] - }, - "documentation": null, - "functionSelector": "eef55d3d", - "id": 1259, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1252, - "modifierName": { - "argumentTypes": null, - "id": 1251, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1397:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1397:9:1" - } - ], - "name": "setDefaultSupervisor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "mutability": "mutable", - "name": "_defaultSupervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1259, - "src": "1360:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1360:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1359:28:1" - }, - "returnParameters": { - "id": 1253, - "nodeType": "ParameterList", - "parameters": [], - "src": "1407:0:1" - }, - "scope": 1522, - "src": "1330:135:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1340, - "nodeType": "Block", - "src": "1524:491:1", - "statements": [ - { - "assignments": [ - 1267 - ], - "declarations": [ - { - "constant": false, - "id": 1267, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1340, - "src": "1534:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1534:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1273, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1269, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "1560:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1268, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1554:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1554:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10485, - "src": "1554:24:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1554:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1534:46:1" - }, - { - "assignments": [ - 1275 - ], - "declarations": [ - { - "constant": false, - "id": 1275, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1340, - "src": "1590:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1281, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1277, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "1617:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1276, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1611:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "1611:25:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1590:48:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1284, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1267, - "src": "1673:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1285, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "1684:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1283, - "name": "isDODORegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "1656:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1656:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f52454749535445524544", - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1697:21:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b50ecbf3dec9c1d08f8b11752d744ffea1bb705d81bfe5ed0e82dd347f6f85af", - "typeString": "literal_string \"DODO_NOT_REGISTERED\"" - }, - "value": "DODO_NOT_REGISTERED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b50ecbf3dec9c1d08f8b11752d744ffea1bb705d81bfe5ed0e82dd347f6f85af", - "typeString": "literal_string \"DODO_NOT_REGISTERED\"" - } - ], - "id": 1282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1648:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1648:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1289, - "nodeType": "ExpressionStatement", - "src": "1648:71:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1290, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "1729:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1293, - "indexExpression": { - "argumentTypes": null, - "id": 1291, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1267, - "src": "1745:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1729:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1294, - "indexExpression": { - "argumentTypes": null, - "id": 1292, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "1756:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1729:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1778:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1770:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1770:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1770:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1729:51:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1300, - "nodeType": "ExpressionStatement", - "src": "1729:51:1" - }, - { - "body": { - "id": 1338, - "nodeType": "Block", - "src": "1839:170:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1314, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1857:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1316, - "indexExpression": { - "argumentTypes": null, - "id": 1315, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1864:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1857:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1317, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "1870:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1857:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1337, - "nodeType": "IfStatement", - "src": "1853:146:1", - "trueBody": { - "id": 1336, - "nodeType": "Block", - "src": "1876:123:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1319, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1894:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1321, - "indexExpression": { - "argumentTypes": null, - "id": 1320, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1901:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1894:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1322, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1906:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1327, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1323, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1913:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1913:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1929:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1913:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1906:25:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1894:37:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1329, - "nodeType": "ExpressionStatement", - "src": "1894:37:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1330, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1949:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1949:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1949:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "1949:12:1" - }, - { - "id": 1335, - "nodeType": "Break", - "src": "1979:5:1" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1305, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1810:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1306, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1815:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1831:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1815:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1810:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1339, - "initializationExpression": { - "assignments": [ - 1302 - ], - "declarations": [ - { - "constant": false, - "id": 1302, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1339, - "src": "1795:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1795:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1304, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1807:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1795:13:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1834:3:1", - "subExpression": { - "argumentTypes": null, - "id": 1311, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "1834:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1313, - "nodeType": "ExpressionStatement", - "src": "1834:3:1" - }, - "nodeType": "ForStatement", - "src": "1790:219:1" - } - ] - }, - "documentation": null, - "functionSelector": "5891296f", - "id": 1341, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1264, - "modifierName": { - "argumentTypes": null, - "id": 1263, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1514:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1514:9:1" - } - ], - "name": "removeDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "mutability": "mutable", - "name": "dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1341, - "src": "1491:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1491:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1490:14:1" - }, - "returnParameters": { - "id": 1265, - "nodeType": "ParameterList", - "parameters": [], - "src": "1524:0:1" - }, - "scope": 1522, - "src": "1471:544:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1387, - "nodeType": "Block", - "src": "2069:281:1", - "statements": [ - { - "assignments": [ - 1349 - ], - "declarations": [ - { - "constant": false, - "id": 1349, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1387, - "src": "2079:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1348, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2079:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1355, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1351, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2105:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1350, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2099:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2099:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10485, - "src": "2099:24:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2099:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2079:46:1" - }, - { - "assignments": [ - 1357 - ], - "declarations": [ - { - "constant": false, - "id": 1357, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1387, - "src": "2135:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1356, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2135:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1363, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1359, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2162:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1358, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2156:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2156:11:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "2156:25:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2156:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2135:48:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2201:40:1", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1366, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "2219:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1367, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "2230:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1365, - "name": "isDODORegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "2202:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 1368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2202:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f52454749535445524544", - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2243:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - }, - "value": "DODO_REGISTERED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - } - ], - "id": 1364, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2193:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1372, - "nodeType": "ExpressionStatement", - "src": "2193:68:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1373, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "2271:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1376, - "indexExpression": { - "argumentTypes": null, - "id": 1374, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "2287:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2271:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1377, - "indexExpression": { - "argumentTypes": null, - "id": 1375, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "2298:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2271:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1378, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2312:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2271:45:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1380, - "nodeType": "ExpressionStatement", - "src": "2271:45:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1384, - "name": "dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1343, - "src": "2338:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1381, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "2326:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2326:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2326:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1386, - "nodeType": "ExpressionStatement", - "src": "2326:17:1" - } - ] - }, - "documentation": null, - "functionSelector": "ecfa2d24", - "id": 1388, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1346, - "modifierName": { - "argumentTypes": null, - "id": 1345, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2059:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2059:9:1" - } - ], - "name": "addDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1343, - "mutability": "mutable", - "name": "dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1388, - "src": "2038:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2038:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2037:14:1" - }, - "returnParameters": { - "id": 1347, - "nodeType": "ParameterList", - "parameters": [], - "src": "2069:0:1" - }, - "scope": 1522, - "src": "2021:329:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1457, - "nodeType": "Block", - "src": "2695:554:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2713:40:1", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1413, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "2731:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1414, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "2742:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1412, - "name": "isDODORegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "2714:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2714:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f52454749535445524544", - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2755:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - }, - "value": "DODO_REGISTERED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_91c4d50fcfe249a82b583a710e7b11daad3d018b071212ff400e43a4509e7111", - "typeString": "literal_string \"DODO_REGISTERED\"" - } - ], - "id": 1411, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2705:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2705:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1419, - "nodeType": "ExpressionStatement", - "src": "2705:68:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1420, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "2783:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1425, - "name": "_DODO_LOGIC_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "2834:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1422, - "name": "_CLONE_FACTORY_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "2811:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1421, - "name": "ICloneFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1986, - "src": "2797:13:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ICloneFactory_$1986_$", - "typeString": "type(contract ICloneFactory)" - } - }, - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2797:30:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ICloneFactory_$1986", - "typeString": "contract ICloneFactory" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "clone", - "nodeType": "MemberAccess", - "referencedDeclaration": 1985, - "src": "2797:36:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_address_$", - "typeString": "function (address) external returns (address)" - } - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2797:50:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2783:64:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1428, - "nodeType": "ExpressionStatement", - "src": "2783:64:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1433, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "2894:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1434, - "name": "_DEFAULT_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "2915:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1435, - "name": "maintainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "2949:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1436, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "2973:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1437, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "2996:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1438, - "name": "oracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "3020:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1439, - "name": "lpFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "3040:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1440, - "name": "mtFeeRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "3063:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1441, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "3086:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1442, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1404, - "src": "3101:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1430, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "2863:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1429, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2857:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2857:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "init", - "nodeType": "MemberAccess", - "referencedDeclaration": 10377, - "src": "2857:23:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,address,address,address,uint256,uint256,uint256,uint256) external" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2857:267:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "ExpressionStatement", - "src": "2857:267:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1446, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "3142:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1445, - "name": "addDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "3134:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3134:20:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1448, - "nodeType": "ExpressionStatement", - "src": "3134:20:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1450, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "3179:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1451, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "3192:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1452, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "3203:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1449, - "name": "DODOBirth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "3169:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3169:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1454, - "nodeType": "EmitStatement", - "src": "3164:50:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 1455, - "name": "newBornDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "3231:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1410, - "id": 1456, - "nodeType": "Return", - "src": "3224:18:1" - } - ] - }, - "documentation": null, - "functionSelector": "6ace4afd", - "id": 1458, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1407, - "modifierName": { - "argumentTypes": null, - "id": 1406, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2655:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2655:9:1" - } - ], - "name": "breedDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1390, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2438:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2438:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1392, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2466:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2466:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1394, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2493:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2493:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1396, - "mutability": "mutable", - "name": "oracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2521:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1395, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2521:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1398, - "mutability": "mutable", - "name": "lpFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2545:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2545:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1400, - "mutability": "mutable", - "name": "mtFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2572:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2572:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1402, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2599:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2599:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1404, - "mutability": "mutable", - "name": "gasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2618:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2618:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2428:217:1" - }, - "returnParameters": { - "id": 1410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1409, - "mutability": "mutable", - "name": "newBornDODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1458, - "src": "2674:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2674:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2673:21:1" - }, - "scope": 1522, - "src": "2410:839:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1495, - "nodeType": "Block", - "src": "3396:243:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1467, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "3423:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1469, - "indexExpression": { - "argumentTypes": null, - "id": 1468, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "3439:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3423:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1471, - "indexExpression": { - "argumentTypes": null, - "id": 1470, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1462, - "src": "3450:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3423:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3473:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3465:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3465:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3465:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3423:52:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1477, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "3491:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1479, - "indexExpression": { - "argumentTypes": null, - "id": 1478, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1462, - "src": "3507:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3491:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1481, - "indexExpression": { - "argumentTypes": null, - "id": 1480, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "3519:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3491:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3541:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3533:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3533:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3533:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3491:52:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3423:120:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1493, - "nodeType": "Block", - "src": "3597:36:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3618:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1466, - "id": 1492, - "nodeType": "Return", - "src": "3611:11:1" - } - ] - }, - "id": 1494, - "nodeType": "IfStatement", - "src": "3406:227:1", - "trueBody": { - "id": 1490, - "nodeType": "Block", - "src": "3554:37:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3575:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1466, - "id": 1489, - "nodeType": "Return", - "src": "3568:12:1" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "a0b0a4d1", - "id": 1496, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isDODORegistered", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1460, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1496, - "src": "3330:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3330:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1462, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1496, - "src": "3349:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3349:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3329:39:1" - }, - "returnParameters": { - "id": 1466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1465, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1496, - "src": "3390:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1464, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3390:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3389:6:1" - }, - "scope": 1522, - "src": "3304:335:1", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1511, - "nodeType": "Block", - "src": "3733:62:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1505, - "name": "_DODO_REGISTER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "3750:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_address_$_$", - "typeString": "mapping(address => mapping(address => address))" - } - }, - "id": 1507, - "indexExpression": { - "argumentTypes": null, - "id": 1506, - "name": "baseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1498, - "src": "3766:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3750:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 1509, - "indexExpression": { - "argumentTypes": null, - "id": 1508, - "name": "quoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1500, - "src": "3777:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3750:38:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1504, - "id": 1510, - "nodeType": "Return", - "src": "3743:45:1" - } - ] - }, - "documentation": null, - "functionSelector": "1273b0c6", - "id": 1512, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1498, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1512, - "src": "3662:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1497, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3662:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1500, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1512, - "src": "3681:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3681:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3661:39:1" - }, - "returnParameters": { - "id": 1504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1503, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1512, - "src": "3724:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1502, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3723:9:1" - }, - "scope": 1522, - "src": "3645:150:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1520, - "nodeType": "Block", - "src": "3862:30:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1518, - "name": "_DODOs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "3879:6:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 1517, - "id": 1519, - "nodeType": "Return", - "src": "3872:13:1" - } - ] - }, - "documentation": null, - "functionSelector": "52491217", - "id": 1521, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDODOs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1513, - "nodeType": "ParameterList", - "parameters": [], - "src": "3818:2:1" - }, - "returnParameters": { - "id": 1517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1516, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1521, - "src": "3844:16:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3844:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1515, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3844:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3843:18:1" - }, - "scope": 1522, - "src": "3801:91:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1523, - "src": "363:3531:1" - } - ], - "src": "78:3817:1" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.484Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "DODOZoo" - }, - "userdoc": { - "methods": {}, - "notice": "Register of All DODO" - } -} \ No newline at end of file diff --git a/build-v1/contracts/DecimalMath.json b/build-v1/contracts/DecimalMath.json deleted file mode 100644 index 09c145e..0000000 --- a/build-v1/contracts/DecimalMath.json +++ /dev/null @@ -1,2332 +0,0 @@ -{ - "contractName": "DecimalMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DecimalMath\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for fixed point number with 18 decimals\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":\"DecimalMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207a468b0c2955324f5156945f942228fb8f246689c7181eecdf6b95fe100373bf64736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207a468b0c2955324f5156945f942228fb8f246689c7181eecdf6b95fe100373bf64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "297:605:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "297:605:36:-:0;;;;;;;;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"./SafeMath.sol\";\n\n\n/**\n * @title DecimalMath\n * @author DODO Breeder\n *\n * @notice Functions for fixed point number with 18 decimals\n */\nlibrary DecimalMath {\n using SafeMath for uint256;\n\n uint256 constant ONE = 10**18;\n\n function mul(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(d) / ONE;\n }\n\n function mulCeil(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(d).divCeil(ONE);\n }\n\n function divFloor(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(ONE).div(d);\n }\n\n function divCeil(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(ONE).divCeil(d);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "exportedSymbols": { - "DecimalMath": [ - 11078 - ] - }, - "id": 11079, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10994, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:36" - }, - { - "id": 10995, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:36" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 10997, - "nodeType": "ImportDirective", - "scope": 11079, - "sourceUnit": 11624, - "src": "136:40:36", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 10996, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:36", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 10998, - "nodeType": "StructuredDocumentation", - "src": "179:117:36", - "text": " @title DecimalMath\n @author DODO Breeder\n @notice Functions for fixed point number with 18 decimals" - }, - "fullyImplemented": true, - "id": 11078, - "linearizedBaseContracts": [ - 11078 - ], - "name": "DecimalMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11001, - "libraryName": { - "contractScope": null, - "id": 10999, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "329:8:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "323:27:36", - "typeName": { - "id": 11000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 11006, - "mutability": "constant", - "name": "ONE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11078, - "src": "356:29:36", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "356:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 11005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 11003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "379:2:36", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 11004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "383:2:36", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "379:6:36", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 11022, - "nodeType": "Block", - "src": "464:43:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11017, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11010, - "src": "492:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11015, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11008, - "src": "481:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "481:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "481:13:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11019, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "497:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "481:19:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11014, - "id": 11021, - "nodeType": "Return", - "src": "474:26:36" - } - ] - }, - "documentation": null, - "id": 11023, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11008, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11023, - "src": "405:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "405:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11010, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11023, - "src": "421:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "421:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "404:27:36" - }, - "returnParameters": { - "id": 11014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11013, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11023, - "src": "455:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "455:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "454:9:36" - }, - "scope": 11078, - "src": "392:115:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11040, - "nodeType": "Block", - "src": "589:50:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11037, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "628:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11034, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11027, - "src": "617:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11032, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11025, - "src": "606:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "606:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "606:13:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "606:21:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "606:26:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11031, - "id": 11039, - "nodeType": "Return", - "src": "599:33:36" - } - ] - }, - "documentation": null, - "id": 11041, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulCeil", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11025, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11041, - "src": "530:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "530:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11027, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11041, - "src": "546:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11026, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "546:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "529:27:36" - }, - "returnParameters": { - "id": 11031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11030, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11041, - "src": "580:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "580:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "579:9:36" - }, - "scope": 11078, - "src": "513:126:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11058, - "nodeType": "Block", - "src": "722:46:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11055, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11045, - "src": "759:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11052, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "750:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11050, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11043, - "src": "739:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "739:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "739:15:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "739:19:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "739:22:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11049, - "id": 11057, - "nodeType": "Return", - "src": "732:29:36" - } - ] - }, - "documentation": null, - "id": 11059, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "divFloor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11043, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11059, - "src": "663:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "663:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11045, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11059, - "src": "679:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "679:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "662:27:36" - }, - "returnParameters": { - "id": 11049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11048, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11059, - "src": "713:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11047, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "713:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "712:9:36" - }, - "scope": 11078, - "src": "645:123:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11076, - "nodeType": "Block", - "src": "850:50:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11073, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "891:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11070, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "878:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11068, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "867:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "867:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:15:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "867:23:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:26:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11067, - "id": 11075, - "nodeType": "Return", - "src": "860:33:36" - } - ] - }, - "documentation": null, - "id": 11077, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "divCeil", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11061, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11077, - "src": "791:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11063, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11077, - "src": "807:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "790:27:36" - }, - "returnParameters": { - "id": 11067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11066, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11077, - "src": "841:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "841:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "840:9:36" - }, - "scope": 11078, - "src": "774:126:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 11079, - "src": "297:605:36" - } - ], - "src": "78:825:36" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "exportedSymbols": { - "DecimalMath": [ - 11078 - ] - }, - "id": 11079, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10994, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:36" - }, - { - "id": 10995, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:36" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 10997, - "nodeType": "ImportDirective", - "scope": 11079, - "sourceUnit": 11624, - "src": "136:40:36", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 10996, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:36", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 10998, - "nodeType": "StructuredDocumentation", - "src": "179:117:36", - "text": " @title DecimalMath\n @author DODO Breeder\n @notice Functions for fixed point number with 18 decimals" - }, - "fullyImplemented": true, - "id": 11078, - "linearizedBaseContracts": [ - 11078 - ], - "name": "DecimalMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11001, - "libraryName": { - "contractScope": null, - "id": 10999, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "329:8:36", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "323:27:36", - "typeName": { - "id": 11000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 11006, - "mutability": "constant", - "name": "ONE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11078, - "src": "356:29:36", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "356:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 11005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 11003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "379:2:36", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 11004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "383:2:36", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "379:6:36", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 11022, - "nodeType": "Block", - "src": "464:43:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11017, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11010, - "src": "492:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11015, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11008, - "src": "481:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "481:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "481:13:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11019, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "497:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "481:19:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11014, - "id": 11021, - "nodeType": "Return", - "src": "474:26:36" - } - ] - }, - "documentation": null, - "id": 11023, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11008, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11023, - "src": "405:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "405:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11010, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11023, - "src": "421:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "421:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "404:27:36" - }, - "returnParameters": { - "id": 11014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11013, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11023, - "src": "455:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "455:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "454:9:36" - }, - "scope": 11078, - "src": "392:115:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11040, - "nodeType": "Block", - "src": "589:50:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11037, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "628:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11034, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11027, - "src": "617:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11032, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11025, - "src": "606:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "606:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "606:13:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "606:21:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "606:26:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11031, - "id": 11039, - "nodeType": "Return", - "src": "599:33:36" - } - ] - }, - "documentation": null, - "id": 11041, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulCeil", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11025, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11041, - "src": "530:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "530:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11027, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11041, - "src": "546:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11026, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "546:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "529:27:36" - }, - "returnParameters": { - "id": 11031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11030, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11041, - "src": "580:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "580:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "579:9:36" - }, - "scope": 11078, - "src": "513:126:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11058, - "nodeType": "Block", - "src": "722:46:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11055, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11045, - "src": "759:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11052, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "750:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11050, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11043, - "src": "739:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "739:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "739:15:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "739:19:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "739:22:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11049, - "id": 11057, - "nodeType": "Return", - "src": "732:29:36" - } - ] - }, - "documentation": null, - "id": 11059, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "divFloor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11043, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11059, - "src": "663:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "663:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11045, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11059, - "src": "679:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "679:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "662:27:36" - }, - "returnParameters": { - "id": 11049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11048, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11059, - "src": "713:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11047, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "713:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "712:9:36" - }, - "scope": 11078, - "src": "645:123:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11076, - "nodeType": "Block", - "src": "850:50:36", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11073, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "891:1:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11070, - "name": "ONE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11006, - "src": "878:3:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11068, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "867:6:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "867:10:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:15:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "867:23:36", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:26:36", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11067, - "id": 11075, - "nodeType": "Return", - "src": "860:33:36" - } - ] - }, - "documentation": null, - "id": 11077, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "divCeil", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11061, - "mutability": "mutable", - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11077, - "src": "791:14:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11063, - "mutability": "mutable", - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11077, - "src": "807:9:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "790:27:36" - }, - "returnParameters": { - "id": 11067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11066, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11077, - "src": "841:7:36", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "841:7:36", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "840:9:36" - }, - "scope": 11078, - "src": "774:126:36", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 11079, - "src": "297:605:36" - } - ], - "src": "78:825:36" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.720Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "DecimalMath" - }, - "userdoc": { - "methods": {}, - "notice": "Functions for fixed point number with 18 decimals" - } -} \ No newline at end of file diff --git a/build-v1/contracts/IBandOracleAggregator.json b/build-v1/contracts/IBandOracleAggregator.json deleted file mode 100644 index 9ae4771..0000000 --- a/build-v1/contracts/IBandOracleAggregator.json +++ /dev/null @@ -1,1034 +0,0 @@ -{ - "contractName": "IBandOracleAggregator", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "base", - "type": "string" - }, - { - "internalType": "string", - "name": "quote", - "type": "string" - } - ], - "name": "getReferenceData", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"base\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"quote\",\"type\":\"string\"}],\"name\":\"getReferenceData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol\":\"IBandOracleAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol\":{\"keccak256\":\"0x3fb4b23899bd5ce681ec2f80d5ba228c9a3a86c86ee877010280286ac0a4e650\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://426b50755f7de3b9ad1eccf29c8940c859a64d4b8092a0255d6c19456198f582\",\"dweb:/ipfs/Qmc5H2rEQLz92yvPJFtiYi9RdsJsCoxtu27udHEzk66kkc\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IBandOracleAggregator {\n function getReferenceData(string memory base, string memory quote)\n external\n view\n returns (uint256);\n}\n\n\ncontract BandBNBBUSDPriceOracleProxy {\n IBandOracleAggregator public aggregator;\n\n constructor(IBandOracleAggregator _aggregator) public {\n aggregator = _aggregator;\n }\n\n function getPrice() public view returns (uint256) {\n return aggregator.getReferenceData(\"BNB\", \"USD\");\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol", - "exportedSymbols": { - "BandBNBBUSDPriceOracleProxy": [ - 1728 - ], - "IBandOracleAggregator": [ - 1703 - ] - }, - "id": 1729, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1692, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:3" - }, - { - "id": 1693, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1703, - "linearizedBaseContracts": [ - 1703 - ], - "name": "IBandOracleAggregator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "65555bcc", - "id": 1702, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReferenceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1695, - "mutability": "mutable", - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "201:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1694, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "201:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1697, - "mutability": "mutable", - "name": "quote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "221:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1696, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "221:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "200:41:3" - }, - "returnParameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1700, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "289:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "288:9:3" - }, - "scope": 1703, - "src": "175:123:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1729, - "src": "137:163:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1728, - "linearizedBaseContracts": [ - 1728 - ], - "name": "BandBNBBUSDPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "245a7bfc", - "id": 1705, - "mutability": "mutable", - "name": "aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1728, - "src": "346:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1704, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "346:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 1714, - "nodeType": "Block", - "src": "446:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1710, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "456:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1711, - "name": "_aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1707, - "src": "469:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "src": "456:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "456:24:3" - } - ] - }, - "documentation": null, - "id": 1715, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1707, - "mutability": "mutable", - "name": "_aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1715, - "src": "404:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1706, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "404:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "403:35:3" - }, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [], - "src": "446:0:3" - }, - "scope": 1728, - "src": "392:95:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1726, - "nodeType": "Block", - "src": "543:65:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "424e42", - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - "value": "BNB" - }, - { - "argumentTypes": null, - "hexValue": "555344", - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "595:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - }, - "value": "USD" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1720, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "560:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReferenceData", - "nodeType": "MemberAccess", - "referencedDeclaration": 1702, - "src": "560:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory,string memory) view external returns (uint256)" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "560:41:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1719, - "id": 1725, - "nodeType": "Return", - "src": "553:48:3" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1716, - "nodeType": "ParameterList", - "parameters": [], - "src": "510:2:3" - }, - "returnParameters": { - "id": 1719, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1718, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1727, - "src": "534:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "533:9:3" - }, - "scope": 1728, - "src": "493:115:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1729, - "src": "303:307:3" - } - ], - "src": "78:533:3" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol", - "exportedSymbols": { - "BandBNBBUSDPriceOracleProxy": [ - 1728 - ], - "IBandOracleAggregator": [ - 1703 - ] - }, - "id": 1729, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1692, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:3" - }, - { - "id": 1693, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1703, - "linearizedBaseContracts": [ - 1703 - ], - "name": "IBandOracleAggregator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "65555bcc", - "id": 1702, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReferenceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1695, - "mutability": "mutable", - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "201:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1694, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "201:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1697, - "mutability": "mutable", - "name": "quote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "221:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1696, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "221:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "200:41:3" - }, - "returnParameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1700, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1702, - "src": "289:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "288:9:3" - }, - "scope": 1703, - "src": "175:123:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1729, - "src": "137:163:3" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1728, - "linearizedBaseContracts": [ - 1728 - ], - "name": "BandBNBBUSDPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "245a7bfc", - "id": 1705, - "mutability": "mutable", - "name": "aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1728, - "src": "346:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1704, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "346:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 1714, - "nodeType": "Block", - "src": "446:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1710, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "456:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1711, - "name": "_aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1707, - "src": "469:11:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "src": "456:24:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "456:24:3" - } - ] - }, - "documentation": null, - "id": 1715, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1707, - "mutability": "mutable", - "name": "_aggregator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1715, - "src": "404:33:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - }, - "typeName": { - "contractScope": null, - "id": 1706, - "name": "IBandOracleAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1703, - "src": "404:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "403:35:3" - }, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [], - "src": "446:0:3" - }, - "scope": 1728, - "src": "392:95:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1726, - "nodeType": "Block", - "src": "543:65:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "424e42", - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - "value": "BNB" - }, - { - "argumentTypes": null, - "hexValue": "555344", - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "595:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - }, - "value": "USD" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae", - "typeString": "literal_string \"BNB\"" - }, - { - "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e", - "typeString": "literal_string \"USD\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1720, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "560:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBandOracleAggregator_$1703", - "typeString": "contract IBandOracleAggregator" - } - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReferenceData", - "nodeType": "MemberAccess", - "referencedDeclaration": 1702, - "src": "560:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory,string memory) view external returns (uint256)" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "560:41:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1719, - "id": 1725, - "nodeType": "Return", - "src": "553:48:3" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1716, - "nodeType": "ParameterList", - "parameters": [], - "src": "510:2:3" - }, - "returnParameters": { - "id": 1719, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1718, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1727, - "src": "534:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "533:9:3" - }, - "scope": 1728, - "src": "493:115:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1729, - "src": "303:307:3" - } - ], - "src": "78:533:3" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.492Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IChainlink.json b/build-v1/contracts/IChainlink.json deleted file mode 100644 index 1a9de21..0000000 --- a/build-v1/contracts/IChainlink.json +++ /dev/null @@ -1,1547 +0,0 @@ -{ - "contractName": "IChainlink", - "abi": [ - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestAnswer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol\":\"IChainlink\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol\":{\"keccak256\":\"0x968af1e723a96686c3835fe68dbdbe21684935743b1639a9342aa5021c2e0c88\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e358426ab8ef57cc2647d8a7d40a876e9e8f81fc69b16b5a298659024894a808\",\"dweb:/ipfs/QmQQkhg9rajRi9Xg6rwbMV8swyC8kjT2ukb34EL2tMr3EG\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\n\ninterface IChainlink {\n function latestAnswer() external view returns (uint256);\n}\n\n\n// for YFI-USDC(decimals=6) price convert\n\ncontract ChainlinkYFIUSDCPriceOracleProxy {\n using SafeMath for uint256;\n\n address public yfiEth = 0x7c5d4F8345e66f68099581Db340cd65B078C41f4;\n address public EthUsd = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419;\n\n function getPrice() external view returns (uint256) {\n uint256 yfiEthPrice = IChainlink(yfiEth).latestAnswer();\n uint256 EthUsdPrice = IChainlink(EthUsd).latestAnswer();\n return yfiEthPrice.mul(EthUsdPrice).div(10**20);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkYFIUSDCPriceOracleProxy": [ - 1975 - ], - "IChainlink": [ - 1933 - ] - }, - "id": 1976, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1924, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:11" - }, - { - "id": 1925, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:11" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 1927, - "nodeType": "ImportDirective", - "scope": 1976, - "sourceUnit": 11624, - "src": "136:45:11", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1926, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1933, - "linearizedBaseContracts": [ - 1933 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1932, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1928, - "nodeType": "ParameterList", - "parameters": [], - "src": "232:2:11" - }, - "returnParameters": { - "id": 1931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1930, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1932, - "src": "258:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "258:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "257:9:11" - }, - "scope": 1933, - "src": "211:56:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "184:85:11" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1975, - "linearizedBaseContracts": [ - 1975 - ], - "name": "ChainlinkYFIUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1936, - "libraryName": { - "contractScope": null, - "id": 1934, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "369:8:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "363:27:11", - "typeName": { - "id": 1935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "28737ae5", - "id": 1939, - "mutability": "mutable", - "name": "yfiEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "396:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "396:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837633564344638333435653636663638303939353831446233343063643635423037384334316634", - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "420:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x7c5d4F8345e66f68099581Db340cd65B078C41f4" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f57689d5", - "id": 1942, - "mutability": "mutable", - "name": "EthUsd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "468:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663465433344663963626434333731344645323734306635453336313631353563356238343139", - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" - }, - "visibility": "public" - }, - { - "body": { - "id": 1973, - "nodeType": "Block", - "src": "593:194:11", - "statements": [ - { - "assignments": [ - 1948 - ], - "declarations": [ - { - "constant": false, - "id": 1948, - "mutability": "mutable", - "name": "yfiEthPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "603:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "603:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1954, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1950, - "name": "yfiEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "636:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1949, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "625:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "625:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "603:55:11" - }, - { - "assignments": [ - 1956 - ], - "declarations": [ - { - "constant": false, - "id": 1956, - "mutability": "mutable", - "name": "EthUsdPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "668:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1962, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1958, - "name": "EthUsd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "701:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1957, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "690:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "690:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "668:55:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "777:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "773:6:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1965, - "name": "EthUsdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1956, - "src": "756:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1963, - "name": "yfiEthPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1948, - "src": "740:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "740:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:28:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "740:32:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:40:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1946, - "id": 1972, - "nodeType": "Return", - "src": "733:47:11" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1943, - "nodeType": "ParameterList", - "parameters": [], - "src": "558:2:11" - }, - "returnParameters": { - "id": 1946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1945, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1974, - "src": "584:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "584:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "583:9:11" - }, - "scope": 1975, - "src": "541:246:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "315:474:11" - } - ], - "src": "78:712:11" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/ChainlinkYFIUSDCPriceOracleProxy.sol", - "exportedSymbols": { - "ChainlinkYFIUSDCPriceOracleProxy": [ - 1975 - ], - "IChainlink": [ - 1933 - ] - }, - "id": 1976, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1924, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:11" - }, - { - "id": 1925, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:11" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 1927, - "nodeType": "ImportDirective", - "scope": 1976, - "sourceUnit": 11624, - "src": "136:45:11", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 1926, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1933, - "linearizedBaseContracts": [ - 1933 - ], - "name": "IChainlink", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "50d25bcd", - "id": 1932, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1928, - "nodeType": "ParameterList", - "parameters": [], - "src": "232:2:11" - }, - "returnParameters": { - "id": 1931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1930, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1932, - "src": "258:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "258:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "257:9:11" - }, - "scope": 1933, - "src": "211:56:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "184:85:11" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1975, - "linearizedBaseContracts": [ - 1975 - ], - "name": "ChainlinkYFIUSDCPriceOracleProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1936, - "libraryName": { - "contractScope": null, - "id": 1934, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "369:8:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "363:27:11", - "typeName": { - "id": 1935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "28737ae5", - "id": 1939, - "mutability": "mutable", - "name": "yfiEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "396:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "396:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837633564344638333435653636663638303939353831446233343063643635423037384334316634", - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "420:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x7c5d4F8345e66f68099581Db340cd65B078C41f4" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f57689d5", - "id": 1942, - "mutability": "mutable", - "name": "EthUsd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1975, - "src": "468:66:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307835663465433344663963626434333731344645323734306635453336313631353563356238343139", - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:42:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" - }, - "visibility": "public" - }, - { - "body": { - "id": 1973, - "nodeType": "Block", - "src": "593:194:11", - "statements": [ - { - "assignments": [ - 1948 - ], - "declarations": [ - { - "constant": false, - "id": 1948, - "mutability": "mutable", - "name": "yfiEthPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "603:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "603:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1954, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1950, - "name": "yfiEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "636:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1949, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "625:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "625:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "625:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "603:55:11" - }, - { - "assignments": [ - 1956 - ], - "declarations": [ - { - "constant": false, - "id": 1956, - "mutability": "mutable", - "name": "EthUsdPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1973, - "src": "668:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1962, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1958, - "name": "EthUsd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "701:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1957, - "name": "IChainlink", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1933, - "src": "690:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IChainlink_$1933_$", - "typeString": "type(contract IChainlink)" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:18:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlink_$1933", - "typeString": "contract IChainlink" - } - }, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "latestAnswer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1932, - "src": "690:31:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "690:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "668:55:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "777:2:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "773:6:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100000000000000000000_by_1", - "typeString": "int_const 100000000000000000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1965, - "name": "EthUsdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1956, - "src": "756:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1963, - "name": "yfiEthPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1948, - "src": "740:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "740:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:28:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "740:32:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "740:40:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1946, - "id": 1972, - "nodeType": "Return", - "src": "733:47:11" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 1974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1943, - "nodeType": "ParameterList", - "parameters": [], - "src": "558:2:11" - }, - "returnParameters": { - "id": 1946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1945, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1974, - "src": "584:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "584:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "583:9:11" - }, - "scope": 1975, - "src": "541:246:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1976, - "src": "315:474:11" - } - ], - "src": "78:712:11" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.493Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/ICloneFactory.json b/build-v1/contracts/ICloneFactory.json deleted file mode 100644 index 1a45eda..0000000 --- a/build-v1/contracts/ICloneFactory.json +++ /dev/null @@ -1,1281 +0,0 @@ -{ - "contractName": "ICloneFactory", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prototype", - "type": "address" - } - ], - "name": "clone", - "outputs": [ - { - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prototype\",\"type\":\"address\"}],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol\":\"ICloneFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol\":{\"keccak256\":\"0x343dc91fe46604d9dc7583e4b969d7dbd2bcba68166bef4e608a85145e7735cc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2751f30bf5bc54890d68fd6e609dea0cc5ddc08aaa928829bffda71065e66715\",\"dweb:/ipfs/QmdtAmwxpdx8VAHFKkrEPazLJmpWj1dSv2Krdd7F3uauH9\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\ninterface ICloneFactory {\n function clone(address prototype) external returns (address proxy);\n}\n\n// introduction of proxy mode design: https://docs.openzeppelin.com/upgrades/2.8/\n// minimum implementation of transparent proxy: https://eips.ethereum.org/EIPS/eip-1167\n\ncontract CloneFactory is ICloneFactory {\n function clone(address prototype) external override returns (address proxy) {\n bytes20 targetBytes = bytes20(prototype);\n assembly {\n let clone := mload(0x40)\n mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\n mstore(add(clone, 0x14), targetBytes)\n mstore(\n add(clone, 0x28),\n 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000\n )\n proxy := create(0, clone, 0x37)\n }\n return proxy;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "exportedSymbols": { - "CloneFactory": [ - 2008 - ], - "ICloneFactory": [ - 1986 - ] - }, - "id": 2009, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1977, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:12" - }, - { - "id": 1978, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1986, - "linearizedBaseContracts": [ - 1986 - ], - "name": "ICloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "8124b78e", - "id": 1985, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1980, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "181:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "181:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "180:19:12" - }, - "returnParameters": { - "id": 1984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1983, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "218:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "217:15:12" - }, - "scope": 1986, - "src": "166:67:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "136:99:12" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1987, - "name": "ICloneFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1986, - "src": "433:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ICloneFactory_$1986", - "typeString": "contract ICloneFactory" - } - }, - "id": 1988, - "nodeType": "InheritanceSpecifier", - "src": "433:13:12" - } - ], - "contractDependencies": [ - 1986 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2008, - "linearizedBaseContracts": [ - 2008, - 1986 - ], - "name": "CloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1985 - ], - "body": { - "id": 2006, - "nodeType": "Block", - "src": "529:484:12", - "statements": [ - { - "assignments": [ - 1997 - ], - "declarations": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "targetBytes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2006, - "src": "539:19:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - "typeName": { - "id": 1996, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "539:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2002, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2000, - "name": "prototype", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "569:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes20_$", - "typeString": "type(bytes20)" - }, - "typeName": { - "id": 1998, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:40:12" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "598:387:12", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "612:24:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "631:4:12", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "625:5:12" - }, - "nodeType": "YulFunctionCall", - "src": "625:11:12" - }, - "variables": [ - { - "name": "clone", - "nodeType": "YulTypedName", - "src": "616:5:12", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "656:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "663:66:12", - "type": "", - "value": "0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "649:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "649:81:12" - }, - "nodeType": "YulExpressionStatement", - "src": "649:81:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "754:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "761:4:12", - "type": "", - "value": "0x14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "750:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "750:16:12" - }, - { - "name": "targetBytes", - "nodeType": "YulIdentifier", - "src": "768:11:12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "743:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "743:37:12" - }, - "nodeType": "YulExpressionStatement", - "src": "743:37:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "821:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "828:4:12", - "type": "", - "value": "0x28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "817:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "817:16:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "851:66:12", - "type": "", - "value": "0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "793:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "793:138:12" - }, - "nodeType": "YulExpressionStatement", - "src": "793:138:12" - }, - { - "nodeType": "YulAssignment", - "src": "944:31:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "960:1:12", - "type": "", - "value": "0" - }, - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "963:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "970:4:12", - "type": "", - "value": "0x37" - } - ], - "functionName": { - "name": "create", - "nodeType": "YulIdentifier", - "src": "953:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "953:22:12" - }, - "variableNames": [ - { - "name": "proxy", - "nodeType": "YulIdentifier", - "src": "944:5:12" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 1994, - "isOffset": false, - "isSlot": false, - "src": "944:5:12", - "valueSize": 1 - }, - { - "declaration": 1997, - "isOffset": false, - "isSlot": false, - "src": "768:11:12", - "valueSize": 1 - } - ], - "id": 2003, - "nodeType": "InlineAssembly", - "src": "589:396:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2004, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "1001:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1995, - "id": 2005, - "nodeType": "Return", - "src": "994:12:12" - } - ] - }, - "documentation": null, - "functionSelector": "8124b78e", - "id": 2007, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1992, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "496:8:12" - }, - "parameters": { - "id": 1991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1990, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "468:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:19:12" - }, - "returnParameters": { - "id": 1995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "514:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:15:12" - }, - "scope": 2008, - "src": "453:560:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "408:607:12" - } - ], - "src": "78:938:12" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/CloneFactory.sol", - "exportedSymbols": { - "CloneFactory": [ - 2008 - ], - "ICloneFactory": [ - 1986 - ] - }, - "id": 2009, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1977, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:12" - }, - { - "id": 1978, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 1986, - "linearizedBaseContracts": [ - 1986 - ], - "name": "ICloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "8124b78e", - "id": 1985, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1980, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "181:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "181:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "180:19:12" - }, - "returnParameters": { - "id": 1984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1983, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1985, - "src": "218:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "217:15:12" - }, - "scope": 1986, - "src": "166:67:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "136:99:12" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1987, - "name": "ICloneFactory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1986, - "src": "433:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ICloneFactory_$1986", - "typeString": "contract ICloneFactory" - } - }, - "id": 1988, - "nodeType": "InheritanceSpecifier", - "src": "433:13:12" - } - ], - "contractDependencies": [ - 1986 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2008, - "linearizedBaseContracts": [ - 2008, - 1986 - ], - "name": "CloneFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1985 - ], - "body": { - "id": 2006, - "nodeType": "Block", - "src": "529:484:12", - "statements": [ - { - "assignments": [ - 1997 - ], - "declarations": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "targetBytes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2006, - "src": "539:19:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - "typeName": { - "id": 1996, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "539:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2002, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2000, - "name": "prototype", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "569:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes20_$", - "typeString": "type(bytes20)" - }, - "typeName": { - "id": 1998, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "561:7:12", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:40:12" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "598:387:12", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "612:24:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "631:4:12", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "625:5:12" - }, - "nodeType": "YulFunctionCall", - "src": "625:11:12" - }, - "variables": [ - { - "name": "clone", - "nodeType": "YulTypedName", - "src": "616:5:12", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "656:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "663:66:12", - "type": "", - "value": "0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "649:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "649:81:12" - }, - "nodeType": "YulExpressionStatement", - "src": "649:81:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "754:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "761:4:12", - "type": "", - "value": "0x14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "750:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "750:16:12" - }, - { - "name": "targetBytes", - "nodeType": "YulIdentifier", - "src": "768:11:12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "743:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "743:37:12" - }, - "nodeType": "YulExpressionStatement", - "src": "743:37:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "821:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "828:4:12", - "type": "", - "value": "0x28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "817:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "817:16:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "851:66:12", - "type": "", - "value": "0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "793:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "793:138:12" - }, - "nodeType": "YulExpressionStatement", - "src": "793:138:12" - }, - { - "nodeType": "YulAssignment", - "src": "944:31:12", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "960:1:12", - "type": "", - "value": "0" - }, - { - "name": "clone", - "nodeType": "YulIdentifier", - "src": "963:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "970:4:12", - "type": "", - "value": "0x37" - } - ], - "functionName": { - "name": "create", - "nodeType": "YulIdentifier", - "src": "953:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "953:22:12" - }, - "variableNames": [ - { - "name": "proxy", - "nodeType": "YulIdentifier", - "src": "944:5:12" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 1994, - "isOffset": false, - "isSlot": false, - "src": "944:5:12", - "valueSize": 1 - }, - { - "declaration": 1997, - "isOffset": false, - "isSlot": false, - "src": "768:11:12", - "valueSize": 1 - } - ], - "id": 2003, - "nodeType": "InlineAssembly", - "src": "589:396:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2004, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "1001:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1995, - "id": 2005, - "nodeType": "Return", - "src": "994:12:12" - } - ] - }, - "documentation": null, - "functionSelector": "8124b78e", - "id": 2007, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "clone", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1992, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "496:8:12" - }, - "parameters": { - "id": 1991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1990, - "mutability": "mutable", - "name": "prototype", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "468:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "468:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:19:12" - }, - "returnParameters": { - "id": 1995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "proxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2007, - "src": "514:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:15:12" - }, - "scope": 2008, - "src": "453:560:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2009, - "src": "408:607:12" - } - ], - "src": "78:938:12" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.508Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IDODO.json b/build-v1/contracts/IDODO.json deleted file mode 100644 index 2afca59..0000000 --- a/build-v1/contracts/IDODO.json +++ /dev/null @@ -1,3900 +0,0 @@ -{ - "contractName": "IDODO", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "supervisor", - "type": "address" - }, - { - "internalType": "address", - "name": "maintainer", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "quoteToken", - "type": "address" - }, - { - "internalType": "address", - "name": "oracle", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mtFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "k", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPriceLimit", - "type": "uint256" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minReceiveQuote", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "sellBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxPayQuote", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "buyBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "querySellBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "receiveQuote", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "queryBuyBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "payQuote", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedTarget", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTarget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteTarget", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAllBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAllQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPayQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"buyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpectedTarget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseTarget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTarget\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"supervisor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mtFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"k\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"queryBuyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"querySellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReceiveQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":\"IDODO\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IDODO {\n function init(\n address owner,\n address supervisor,\n address maintainer,\n address baseToken,\n address quoteToken,\n address oracle,\n uint256 lpFeeRate,\n uint256 mtFeeRate,\n uint256 k,\n uint256 gasPriceLimit\n ) external;\n\n function transferOwnership(address newOwner) external;\n\n function claimOwnership() external;\n\n function sellBaseToken(\n uint256 amount,\n uint256 minReceiveQuote,\n bytes calldata data\n ) external returns (uint256);\n\n function buyBaseToken(\n uint256 amount,\n uint256 maxPayQuote,\n bytes calldata data\n ) external returns (uint256);\n\n function querySellBaseToken(uint256 amount) external view returns (uint256 receiveQuote);\n\n function queryBuyBaseToken(uint256 amount) external view returns (uint256 payQuote);\n\n function getExpectedTarget() external view returns (uint256 baseTarget, uint256 quoteTarget);\n\n function depositBaseTo(address to, uint256 amount) external returns (uint256);\n\n function withdrawBase(uint256 amount) external returns (uint256);\n\n function withdrawAllBase() external returns (uint256);\n\n function depositQuoteTo(address to, uint256 amount) external returns (uint256);\n\n function withdrawQuote(uint256 amount) external returns (uint256);\n\n function withdrawAllQuote() external returns (uint256);\n\n function _BASE_CAPITAL_TOKEN_() external view returns (address);\n\n function _QUOTE_CAPITAL_TOKEN_() external view returns (address);\n\n function _BASE_TOKEN_() external returns (address);\n\n function _QUOTE_TOKEN_() external returns (address);\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "exportedSymbols": { - "IDODO": [ - 10491 - ] - }, - "id": 10492, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10353, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:29" - }, - { - "id": 10354, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:29" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10491, - "linearizedBaseContracts": [ - 10491 - ], - "name": "IDODO", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "f00f9a09", - "id": 10377, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10356, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "182:13:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10355, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "182:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10358, - "mutability": "mutable", - "name": "supervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "205:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "205:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10360, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "233:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10362, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "261:17:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10364, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "288:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "288:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10366, - "mutability": "mutable", - "name": "oracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "316:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "316:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10368, - "mutability": "mutable", - "name": "lpFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "340:17:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "340:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10370, - "mutability": "mutable", - "name": "mtFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "367:17:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "367:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10372, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "394:9:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "394:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10374, - "mutability": "mutable", - "name": "gasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "413:21:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "413:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "172:268:29" - }, - "returnParameters": { - "id": 10376, - "nodeType": "ParameterList", - "parameters": [], - "src": "449:0:29" - }, - "scope": 10491, - "src": "159:291:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 10382, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10379, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10382, - "src": "483:16:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "483:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:18:29" - }, - "returnParameters": { - "id": 10381, - "nodeType": "ParameterList", - "parameters": [], - "src": "509:0:29" - }, - "scope": 10491, - "src": "456:54:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "4e71e0c8", - "id": 10385, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "claimOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10383, - "nodeType": "ParameterList", - "parameters": [], - "src": "539:2:29" - }, - "returnParameters": { - "id": 10384, - "nodeType": "ParameterList", - "parameters": [], - "src": "550:0:29" - }, - "scope": 10491, - "src": "516:35:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "8dae7333", - "id": 10396, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10387, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "589:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "589:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10389, - "mutability": "mutable", - "name": "minReceiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "613:23:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "613:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10391, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "646:19:29", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10390, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "646:5:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "579:92:29" - }, - "returnParameters": { - "id": 10395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10394, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "690:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "689:9:29" - }, - "scope": 10491, - "src": "557:142:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e67ce706", - "id": 10407, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "buyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10398, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "736:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10400, - "mutability": "mutable", - "name": "maxPayQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "760:19:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "760:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10402, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "789:19:29", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10401, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "789:5:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "726:88:29" - }, - "returnParameters": { - "id": 10406, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10405, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "833:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "833:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:9:29" - }, - "scope": 10491, - "src": "705:137:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2801e16", - "id": 10414, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "querySellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10409, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10414, - "src": "876:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "876:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "875:16:29" - }, - "returnParameters": { - "id": 10413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10412, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10414, - "src": "915:20:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10411, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "915:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "914:22:29" - }, - "scope": 10491, - "src": "848:89:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18c0bbe4", - "id": 10421, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "queryBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10416, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10421, - "src": "970:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "970:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "969:16:29" - }, - "returnParameters": { - "id": 10420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10419, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10421, - "src": "1009:16:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1009:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1008:18:29" - }, - "scope": 10491, - "src": "943:84:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ffa64225", - "id": 10428, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getExpectedTarget", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10422, - "nodeType": "ParameterList", - "parameters": [], - "src": "1059:2:29" - }, - "returnParameters": { - "id": 10427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10424, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10428, - "src": "1085:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1085:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10426, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10428, - "src": "1105:19:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1105:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1084:41:29" - }, - "scope": 10491, - "src": "1033:93:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "aa06ce9b", - "id": 10437, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "depositBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10433, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10430, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10437, - "src": "1155:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10429, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1155:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10432, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10437, - "src": "1167:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10431, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1167:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1154:28:29" - }, - "returnParameters": { - "id": 10436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10435, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10437, - "src": "1201:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1200:9:29" - }, - "scope": 10491, - "src": "1132:78:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f98bea15", - "id": 10444, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10439, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10444, - "src": "1238:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1238:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1237:16:29" - }, - "returnParameters": { - "id": 10443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10442, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10444, - "src": "1272:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1272:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1271:9:29" - }, - "scope": 10491, - "src": "1216:65:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d47eaa37", - "id": 10449, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawAllBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10445, - "nodeType": "ParameterList", - "parameters": [], - "src": "1311:2:29" - }, - "returnParameters": { - "id": 10448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10447, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "1332:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1331:9:29" - }, - "scope": 10491, - "src": "1287:54:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5f179f64", - "id": 10458, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "depositQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10451, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10458, - "src": "1371:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10450, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1371:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10453, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10458, - "src": "1383:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1383:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1370:28:29" - }, - "returnParameters": { - "id": 10457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10456, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10458, - "src": "1417:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1417:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1416:9:29" - }, - "scope": 10491, - "src": "1347:79:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c0a5f6ff", - "id": 10465, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10461, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10460, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10465, - "src": "1455:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10459, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1455:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1454:16:29" - }, - "returnParameters": { - "id": 10464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10463, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10465, - "src": "1489:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1489:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1488:9:29" - }, - "scope": 10491, - "src": "1432:66:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c59203af", - "id": 10470, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawAllQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10466, - "nodeType": "ParameterList", - "parameters": [], - "src": "1529:2:29" - }, - "returnParameters": { - "id": 10469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10468, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10470, - "src": "1550:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1550:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1549:9:29" - }, - "scope": 10491, - "src": "1504:55:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d689107c", - "id": 10475, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10471, - "nodeType": "ParameterList", - "parameters": [], - "src": "1594:2:29" - }, - "returnParameters": { - "id": 10474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10473, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "1620:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1620:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1619:9:29" - }, - "scope": 10491, - "src": "1565:64:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ac1fbc98", - "id": 10480, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10476, - "nodeType": "ParameterList", - "parameters": [], - "src": "1665:2:29" - }, - "returnParameters": { - "id": 10479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10478, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10480, - "src": "1691:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1691:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1690:9:29" - }, - "scope": 10491, - "src": "1635:65:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "4a248d2a", - "id": 10485, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_BASE_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10481, - "nodeType": "ParameterList", - "parameters": [], - "src": "1727:2:29" - }, - "returnParameters": { - "id": 10484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10483, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10485, - "src": "1748:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1748:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1747:9:29" - }, - "scope": 10491, - "src": "1706:51:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d4b97046", - "id": 10490, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_QUOTE_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10486, - "nodeType": "ParameterList", - "parameters": [], - "src": "1785:2:29" - }, - "returnParameters": { - "id": 10489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10488, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "1806:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1806:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1805:9:29" - }, - "scope": 10491, - "src": "1763:52:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10492, - "src": "137:1680:29" - } - ], - "src": "78:1740:29" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "exportedSymbols": { - "IDODO": [ - 10491 - ] - }, - "id": 10492, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10353, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:29" - }, - { - "id": 10354, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:29" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10491, - "linearizedBaseContracts": [ - 10491 - ], - "name": "IDODO", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "f00f9a09", - "id": 10377, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10356, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "182:13:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10355, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "182:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10358, - "mutability": "mutable", - "name": "supervisor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "205:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "205:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10360, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "233:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10362, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "261:17:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10364, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "288:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "288:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10366, - "mutability": "mutable", - "name": "oracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "316:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "316:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10368, - "mutability": "mutable", - "name": "lpFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "340:17:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "340:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10370, - "mutability": "mutable", - "name": "mtFeeRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "367:17:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "367:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10372, - "mutability": "mutable", - "name": "k", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "394:9:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "394:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10374, - "mutability": "mutable", - "name": "gasPriceLimit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10377, - "src": "413:21:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "413:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "172:268:29" - }, - "returnParameters": { - "id": 10376, - "nodeType": "ParameterList", - "parameters": [], - "src": "449:0:29" - }, - "scope": 10491, - "src": "159:291:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 10382, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10379, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10382, - "src": "483:16:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "483:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:18:29" - }, - "returnParameters": { - "id": 10381, - "nodeType": "ParameterList", - "parameters": [], - "src": "509:0:29" - }, - "scope": 10491, - "src": "456:54:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "4e71e0c8", - "id": 10385, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "claimOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10383, - "nodeType": "ParameterList", - "parameters": [], - "src": "539:2:29" - }, - "returnParameters": { - "id": 10384, - "nodeType": "ParameterList", - "parameters": [], - "src": "550:0:29" - }, - "scope": 10491, - "src": "516:35:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "8dae7333", - "id": 10396, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10387, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "589:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "589:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10389, - "mutability": "mutable", - "name": "minReceiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "613:23:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "613:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10391, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "646:19:29", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10390, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "646:5:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "579:92:29" - }, - "returnParameters": { - "id": 10395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10394, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10396, - "src": "690:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "689:9:29" - }, - "scope": 10491, - "src": "557:142:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e67ce706", - "id": 10407, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "buyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10398, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "736:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10400, - "mutability": "mutable", - "name": "maxPayQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "760:19:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "760:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10402, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "789:19:29", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10401, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "789:5:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "726:88:29" - }, - "returnParameters": { - "id": 10406, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10405, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10407, - "src": "833:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "833:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:9:29" - }, - "scope": 10491, - "src": "705:137:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2801e16", - "id": 10414, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "querySellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10409, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10414, - "src": "876:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "876:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "875:16:29" - }, - "returnParameters": { - "id": 10413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10412, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10414, - "src": "915:20:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10411, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "915:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "914:22:29" - }, - "scope": 10491, - "src": "848:89:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18c0bbe4", - "id": 10421, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "queryBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10416, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10421, - "src": "970:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "970:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "969:16:29" - }, - "returnParameters": { - "id": 10420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10419, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10421, - "src": "1009:16:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1009:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1008:18:29" - }, - "scope": 10491, - "src": "943:84:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ffa64225", - "id": 10428, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getExpectedTarget", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10422, - "nodeType": "ParameterList", - "parameters": [], - "src": "1059:2:29" - }, - "returnParameters": { - "id": 10427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10424, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10428, - "src": "1085:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1085:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10426, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10428, - "src": "1105:19:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1105:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1084:41:29" - }, - "scope": 10491, - "src": "1033:93:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "aa06ce9b", - "id": 10437, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "depositBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10433, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10430, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10437, - "src": "1155:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10429, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1155:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10432, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10437, - "src": "1167:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10431, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1167:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1154:28:29" - }, - "returnParameters": { - "id": 10436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10435, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10437, - "src": "1201:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1200:9:29" - }, - "scope": 10491, - "src": "1132:78:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f98bea15", - "id": 10444, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10439, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10444, - "src": "1238:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1238:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1237:16:29" - }, - "returnParameters": { - "id": 10443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10442, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10444, - "src": "1272:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1272:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1271:9:29" - }, - "scope": 10491, - "src": "1216:65:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d47eaa37", - "id": 10449, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawAllBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10445, - "nodeType": "ParameterList", - "parameters": [], - "src": "1311:2:29" - }, - "returnParameters": { - "id": 10448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10447, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "1332:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1331:9:29" - }, - "scope": 10491, - "src": "1287:54:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5f179f64", - "id": 10458, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "depositQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10451, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10458, - "src": "1371:10:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10450, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1371:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10453, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10458, - "src": "1383:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1383:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1370:28:29" - }, - "returnParameters": { - "id": 10457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10456, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10458, - "src": "1417:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1417:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1416:9:29" - }, - "scope": 10491, - "src": "1347:79:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c0a5f6ff", - "id": 10465, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10461, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10460, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10465, - "src": "1455:14:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10459, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1455:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1454:16:29" - }, - "returnParameters": { - "id": 10464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10463, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10465, - "src": "1489:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1489:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1488:9:29" - }, - "scope": 10491, - "src": "1432:66:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c59203af", - "id": 10470, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdrawAllQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10466, - "nodeType": "ParameterList", - "parameters": [], - "src": "1529:2:29" - }, - "returnParameters": { - "id": 10469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10468, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10470, - "src": "1550:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1550:7:29", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1549:9:29" - }, - "scope": 10491, - "src": "1504:55:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d689107c", - "id": 10475, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10471, - "nodeType": "ParameterList", - "parameters": [], - "src": "1594:2:29" - }, - "returnParameters": { - "id": 10474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10473, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "1620:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1620:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1619:9:29" - }, - "scope": 10491, - "src": "1565:64:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ac1fbc98", - "id": 10480, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10476, - "nodeType": "ParameterList", - "parameters": [], - "src": "1665:2:29" - }, - "returnParameters": { - "id": 10479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10478, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10480, - "src": "1691:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1691:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1690:9:29" - }, - "scope": 10491, - "src": "1635:65:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "4a248d2a", - "id": 10485, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_BASE_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10481, - "nodeType": "ParameterList", - "parameters": [], - "src": "1727:2:29" - }, - "returnParameters": { - "id": 10484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10483, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10485, - "src": "1748:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1748:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1747:9:29" - }, - "scope": 10491, - "src": "1706:51:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d4b97046", - "id": 10490, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_QUOTE_TOKEN_", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10486, - "nodeType": "ParameterList", - "parameters": [], - "src": "1785:2:29" - }, - "returnParameters": { - "id": 10489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10488, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "1806:7:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1806:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1805:9:29" - }, - "scope": 10491, - "src": "1763:52:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10492, - "src": "137:1680:29" - } - ], - "src": "78:1740:29" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.712Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IDODOCallee.json b/build-v1/contracts/IDODOCallee.json deleted file mode 100644 index b278982..0000000 --- a/build-v1/contracts/IDODOCallee.json +++ /dev/null @@ -1,440 +0,0 @@ -{ - "contractName": "IDODOCallee", - "abi": [ - { - "inputs": [ - { - "internalType": "bool", - "name": "isBuyBaseToken", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "dodoCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isBuyBaseToken\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"baseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"dodoCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol\":\"IDODOCallee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol\":{\"keccak256\":\"0x229c6157d9f467f52d98634966a88fce7c7d68d1b7ee5c4897957b3bc33ee2c5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d9ca56838de93c5727da081665c37fb7e4448cc584e3ff72f5d9867775c0ee5f\",\"dweb:/ipfs/QmTVeQ8EJqnrSYsu4GU4jhaUzW9FC45fAoXKHniBNXNaZs\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\ninterface IDODOCallee {\n function dodoCall(\n bool isBuyBaseToken,\n uint256 baseAmount,\n uint256 quoteAmount,\n bytes calldata data\n ) external;\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol", - "exportedSymbols": { - "IDODOCallee": [ - 10506 - ] - }, - "id": 10507, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10493, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:30" - }, - { - "id": 10494, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:30" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10506, - "linearizedBaseContracts": [ - 10506 - ], - "name": "IDODOCallee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "60378cea", - "id": 10505, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "dodoCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10496, - "mutability": "mutable", - "name": "isBuyBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "191:19:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "191:4:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10498, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "220:18:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "220:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10500, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "248:19:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "248:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10502, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "277:19:30", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10501, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "277:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "181:121:30" - }, - "returnParameters": { - "id": 10504, - "nodeType": "ParameterList", - "parameters": [], - "src": "311:0:30" - }, - "scope": 10506, - "src": "164:148:30", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10507, - "src": "136:178:30" - } - ], - "src": "78:237:30" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol", - "exportedSymbols": { - "IDODOCallee": [ - 10506 - ] - }, - "id": 10507, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10493, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:30" - }, - { - "id": 10494, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:30" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10506, - "linearizedBaseContracts": [ - 10506 - ], - "name": "IDODOCallee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "60378cea", - "id": 10505, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "dodoCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10496, - "mutability": "mutable", - "name": "isBuyBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "191:19:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "191:4:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10498, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "220:18:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "220:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10500, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "248:19:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "248:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10502, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10505, - "src": "277:19:30", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10501, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "277:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "181:121:30" - }, - "returnParameters": { - "id": 10504, - "nodeType": "ParameterList", - "parameters": [], - "src": "311:0:30" - }, - "scope": 10506, - "src": "164:148:30", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10507, - "src": "136:178:30" - } - ], - "src": "78:237:30" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.714Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IDODOLpToken.json b/build-v1/contracts/IDODOLpToken.json deleted file mode 100644 index 6ed911f..0000000 --- a/build-v1/contracts/IDODOLpToken.json +++ /dev/null @@ -1,838 +0,0 @@ -{ - "contractName": "IDODOLpToken", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":\"IDODOLpToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity ^0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IDODOLpToken {\n function mint(address user, uint256 value) external;\n\n function burn(address user, uint256 value) external;\n\n function balanceOf(address owner) external view returns (uint256);\n\n function totalSupply() external view returns (uint256);\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "exportedSymbols": { - "IDODOLpToken": [ - 10536 - ] - }, - "id": 10537, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10508, - "literals": [ - "solidity", - "^", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:23:31" - }, - { - "id": 10509, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "102:33:31" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10536, - "linearizedBaseContracts": [ - 10536 - ], - "name": "IDODOLpToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "40c10f19", - "id": 10516, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10511, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10516, - "src": "181:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "181:7:31", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10513, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10516, - "src": "195:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "195:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "180:29:31" - }, - "returnParameters": { - "id": 10515, - "nodeType": "ParameterList", - "parameters": [], - "src": "218:0:31" - }, - "scope": 10536, - "src": "167:52:31", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "9dc29fac", - "id": 10523, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10518, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10523, - "src": "239:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:31", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10520, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10523, - "src": "253:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "253:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:29:31" - }, - "returnParameters": { - "id": 10522, - "nodeType": "ParameterList", - "parameters": [], - "src": "276:0:31" - }, - "scope": 10536, - "src": "225:52:31", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 10530, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10526, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10525, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10530, - "src": "302:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "302:7:31", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "301:15:31" - }, - "returnParameters": { - "id": 10529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10528, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10530, - "src": "340:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "340:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "339:9:31" - }, - "scope": 10536, - "src": "283:66:31", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 10535, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10531, - "nodeType": "ParameterList", - "parameters": [], - "src": "375:2:31" - }, - "returnParameters": { - "id": 10534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10533, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10535, - "src": "401:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "401:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "400:9:31" - }, - "scope": 10536, - "src": "355:55:31", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10537, - "src": "138:274:31" - } - ], - "src": "78:335:31" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "exportedSymbols": { - "IDODOLpToken": [ - 10536 - ] - }, - "id": 10537, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10508, - "literals": [ - "solidity", - "^", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:23:31" - }, - { - "id": 10509, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "102:33:31" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10536, - "linearizedBaseContracts": [ - 10536 - ], - "name": "IDODOLpToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "40c10f19", - "id": 10516, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10511, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10516, - "src": "181:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "181:7:31", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10513, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10516, - "src": "195:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "195:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "180:29:31" - }, - "returnParameters": { - "id": 10515, - "nodeType": "ParameterList", - "parameters": [], - "src": "218:0:31" - }, - "scope": 10536, - "src": "167:52:31", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "9dc29fac", - "id": 10523, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10518, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10523, - "src": "239:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:31", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10520, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10523, - "src": "253:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "253:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:29:31" - }, - "returnParameters": { - "id": 10522, - "nodeType": "ParameterList", - "parameters": [], - "src": "276:0:31" - }, - "scope": 10536, - "src": "225:52:31", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 10530, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10526, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10525, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10530, - "src": "302:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "302:7:31", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "301:15:31" - }, - "returnParameters": { - "id": 10529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10528, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10530, - "src": "340:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "340:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "339:9:31" - }, - "scope": 10536, - "src": "283:66:31", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 10535, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10531, - "nodeType": "ParameterList", - "parameters": [], - "src": "375:2:31" - }, - "returnParameters": { - "id": 10534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10533, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10535, - "src": "401:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "401:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "400:9:31" - }, - "scope": 10536, - "src": "355:55:31", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10537, - "src": "138:274:31" - } - ], - "src": "78:335:31" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.714Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IDODOMine.json b/build-v1/contracts/IDODOMine.json deleted file mode 100644 index b93bcd2..0000000 --- a/build-v1/contracts/IDODOMine.json +++ /dev/null @@ -1,3630 +0,0 @@ -{ - "contractName": "IDODOMine", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_lpToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getUserLpBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lpToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserLpBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol\":\"IDODOMine\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol\":{\"keccak256\":\"0xacdbbc17ce75a41a7656e2ff50c85633af00f5c57240269a3bcfcc4800427574\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b915a0b00401e7355693594d02a1b606172e29c8886fe909749b4422bd8accb3\",\"dweb:/ipfs/QmbaER9zTzjuUh4x4YMDMiXu4cHzMCqihBUP7h2DP4ERmq\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {IDODO} from \"../intf/IDODO.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\n\ninterface IDODOMine {\n function getUserLpBalance(address _lpToken, address _user) external view returns (uint256);\n}\n\n\ncontract DODOMineReader {\n using SafeMath for uint256;\n\n function getUserStakedBalance(\n address _dodoMine,\n address _dodo,\n address _user\n ) external view returns (uint256 baseBalance, uint256 quoteBalance) {\n address baseLpToken = IDODO(_dodo)._BASE_CAPITAL_TOKEN_();\n address quoteLpToken = IDODO(_dodo)._QUOTE_CAPITAL_TOKEN_();\n\n uint256 baseLpBalance = IDODOMine(_dodoMine).getUserLpBalance(baseLpToken, _user);\n uint256 quoteLpBalance = IDODOMine(_dodoMine).getUserLpBalance(quoteLpToken, _user);\n\n uint256 baseLpTotalSupply = IERC20(baseLpToken).totalSupply();\n uint256 quoteLpTotalSupply = IERC20(quoteLpToken).totalSupply();\n\n (uint256 baseTarget, uint256 quoteTarget) = IDODO(_dodo).getExpectedTarget();\n baseBalance = baseTarget.mul(baseLpBalance).div(baseLpTotalSupply);\n quoteBalance = quoteTarget.mul(quoteLpBalance).div(quoteLpTotalSupply);\n\n return (baseBalance, quoteBalance);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", - "exportedSymbols": { - "DODOMineReader": [ - 12945 - ], - "IDODOMine": [ - 12841 - ] - }, - "id": 12946, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12824, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:44" - }, - { - "id": 12825, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:44" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "../intf/IDODO.sol", - "id": 12827, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10492, - "src": "136:40:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12826, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:5:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12829, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10608, - "src": "177:42:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12828, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "185:6:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 12831, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 11624, - "src": "220:45:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12830, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "228:8:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12841, - "linearizedBaseContracts": [ - 12841 - ], - "name": "IDODOMine", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "19a78f55", - "id": 12840, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getUserLpBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12833, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "320:16:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12835, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "338:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "338:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:44" - }, - "returnParameters": { - "id": 12839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12838, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "376:7:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "376:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "375:9:44" - }, - "scope": 12841, - "src": "294:91:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "268:119:44" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12945, - "linearizedBaseContracts": [ - 12945 - ], - "name": "DODOMineReader", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12844, - "libraryName": { - "contractScope": null, - "id": 12842, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "426:8:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "420:27:44", - "typeName": { - "id": 12843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 12943, - "nodeType": "Block", - "src": "628:761:44", - "statements": [ - { - "assignments": [ - 12858 - ], - "declarations": [ - { - "constant": false, - "id": 12858, - "mutability": "mutable", - "name": "baseLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "638:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "638:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12864, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12860, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "666:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12859, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "660:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "660:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:35:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "638:57:44" - }, - { - "assignments": [ - 12866 - ], - "declarations": [ - { - "constant": false, - "id": 12866, - "mutability": "mutable", - "name": "quoteLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "705:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "705:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12872, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12868, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "734:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12867, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "728:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "728:34:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:36:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:59:44" - }, - { - "assignments": [ - 12874 - ], - "declarations": [ - { - "constant": false, - "id": 12874, - "mutability": "mutable", - "name": "baseLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "775:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "775:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12882, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12879, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "837:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12880, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "850:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12876, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "809:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12875, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "799:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "799:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:57:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "775:81:44" - }, - { - "assignments": [ - 12884 - ], - "declarations": [ - { - "constant": false, - "id": 12884, - "mutability": "mutable", - "name": "quoteLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "866:22:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "866:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12892, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12889, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "929:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12890, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "943:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12886, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "901:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12885, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "891:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "891:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:58:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "866:83:44" - }, - { - "assignments": [ - 12894 - ], - "declarations": [ - { - "constant": false, - "id": 12894, - "mutability": "mutable", - "name": "baseLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "960:25:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "960:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12900, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12896, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "995:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12895, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "988:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:19:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "988:31:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:33:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "960:61:44" - }, - { - "assignments": [ - 12902 - ], - "declarations": [ - { - "constant": false, - "id": 12902, - "mutability": "mutable", - "name": "quoteLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1031:26:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1031:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12908, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12904, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "1067:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12903, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1060:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "1060:32:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:34:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1031:63:44" - }, - { - "assignments": [ - 12910, - 12912 - ], - "declarations": [ - { - "constant": false, - "id": 12910, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1106:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1106:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12912, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1126:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12918, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12914, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "1155:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12913, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1149:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getExpectedTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10428, - "src": "1149:30:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view external returns (uint256,uint256)" - } - }, - "id": 12917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:32:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1105:76:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12919, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1191:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12925, - "name": "baseLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12894, - "src": "1239:17:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12922, - "name": "baseLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12874, - "src": "1220:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12920, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12910, - "src": "1205:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1205:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:29:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1205:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:52:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1191:66:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12928, - "nodeType": "ExpressionStatement", - "src": "1191:66:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12929, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1267:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12935, - "name": "quoteLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12902, - "src": "1318:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12932, - "name": "quoteLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12884, - "src": "1298:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12930, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12912, - "src": "1282:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1282:15:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:31:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1282:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:55:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:70:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12938, - "nodeType": "ExpressionStatement", - "src": "1267:70:44" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 12939, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1356:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12940, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1369:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12941, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1355:27:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 12856, - "id": 12942, - "nodeType": "Return", - "src": "1348:34:44" - } - ] - }, - "documentation": null, - "functionSelector": "4e41de7f", - "id": 12944, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserStakedBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12846, - "mutability": "mutable", - "name": "_dodoMine", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "492:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "492:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12848, - "mutability": "mutable", - "name": "_dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "519:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "519:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12850, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "542:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:79:44" - }, - "returnParameters": { - "id": 12856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12853, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "585:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12855, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "606:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "606:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "584:43:44" - }, - "scope": 12945, - "src": "453:936:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "390:1001:44" - } - ], - "src": "78:1314:44" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", - "exportedSymbols": { - "DODOMineReader": [ - 12945 - ], - "IDODOMine": [ - 12841 - ] - }, - "id": 12946, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12824, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:44" - }, - { - "id": 12825, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:44" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "../intf/IDODO.sol", - "id": 12827, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10492, - "src": "136:40:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12826, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:5:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12829, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 10608, - "src": "177:42:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12828, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "185:6:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 12831, - "nodeType": "ImportDirective", - "scope": 12946, - "sourceUnit": 11624, - "src": "220:45:44", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12830, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "228:8:44", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12841, - "linearizedBaseContracts": [ - 12841 - ], - "name": "IDODOMine", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "19a78f55", - "id": 12840, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getUserLpBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12833, - "mutability": "mutable", - "name": "_lpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "320:16:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12835, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "338:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "338:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:44" - }, - "returnParameters": { - "id": 12839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12838, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12840, - "src": "376:7:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "376:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "375:9:44" - }, - "scope": 12841, - "src": "294:91:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "268:119:44" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12945, - "linearizedBaseContracts": [ - 12945 - ], - "name": "DODOMineReader", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12844, - "libraryName": { - "contractScope": null, - "id": 12842, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "426:8:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "420:27:44", - "typeName": { - "id": 12843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 12943, - "nodeType": "Block", - "src": "628:761:44", - "statements": [ - { - "assignments": [ - 12858 - ], - "declarations": [ - { - "constant": false, - "id": 12858, - "mutability": "mutable", - "name": "baseLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "638:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "638:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12864, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12860, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "666:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12859, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "660:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "660:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:35:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "638:57:44" - }, - { - "assignments": [ - 12866 - ], - "declarations": [ - { - "constant": false, - "id": 12866, - "mutability": "mutable", - "name": "quoteLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "705:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "705:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12872, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12868, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "734:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12867, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "728:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "728:34:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 12871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:36:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:59:44" - }, - { - "assignments": [ - 12874 - ], - "declarations": [ - { - "constant": false, - "id": 12874, - "mutability": "mutable", - "name": "baseLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "775:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "775:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12882, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12879, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "837:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12880, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "850:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12876, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "809:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12875, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "799:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "799:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:57:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "775:81:44" - }, - { - "assignments": [ - 12884 - ], - "declarations": [ - { - "constant": false, - "id": 12884, - "mutability": "mutable", - "name": "quoteLpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "866:22:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "866:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12892, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12889, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "929:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12890, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12850, - "src": "943:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12886, - "name": "_dodoMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12846, - "src": "901:9:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12885, - "name": "IDODOMine", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12841, - "src": "891:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", - "typeString": "type(contract IDODOMine)" - } - }, - "id": 12887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOMine_$12841", - "typeString": "contract IDODOMine" - } - }, - "id": 12888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getUserLpBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 12840, - "src": "891:37:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 12891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "891:58:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "866:83:44" - }, - { - "assignments": [ - 12894 - ], - "declarations": [ - { - "constant": false, - "id": 12894, - "mutability": "mutable", - "name": "baseLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "960:25:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "960:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12900, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12896, - "name": "baseLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12858, - "src": "995:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12895, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "988:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:19:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "988:31:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:33:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "960:61:44" - }, - { - "assignments": [ - 12902 - ], - "declarations": [ - { - "constant": false, - "id": 12902, - "mutability": "mutable", - "name": "quoteLpTotalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1031:26:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1031:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12908, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12904, - "name": "quoteLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12866, - "src": "1067:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12903, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1060:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:20:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10546, - "src": "1060:32:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 12907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:34:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1031:63:44" - }, - { - "assignments": [ - 12910, - 12912 - ], - "declarations": [ - { - "constant": false, - "id": 12910, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1106:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1106:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12912, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12943, - "src": "1126:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 12918, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12914, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12848, - "src": "1155:5:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12913, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1149:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 12915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:12:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 12916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getExpectedTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10428, - "src": "1149:30:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view external returns (uint256,uint256)" - } - }, - "id": 12917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1149:32:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1105:76:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12919, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1191:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12925, - "name": "baseLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12894, - "src": "1239:17:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12922, - "name": "baseLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12874, - "src": "1220:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12920, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12910, - "src": "1205:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1205:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:29:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1205:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:52:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1191:66:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12928, - "nodeType": "ExpressionStatement", - "src": "1191:66:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 12937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12929, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1267:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12935, - "name": "quoteLpTotalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12902, - "src": "1318:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12932, - "name": "quoteLpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12884, - "src": "1298:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 12930, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12912, - "src": "1282:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "1282:15:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:31:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "1282:35:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 12936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1282:55:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1267:70:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 12938, - "nodeType": "ExpressionStatement", - "src": "1267:70:44" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 12939, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12853, - "src": "1356:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 12940, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12855, - "src": "1369:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 12941, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1355:27:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 12856, - "id": 12942, - "nodeType": "Return", - "src": "1348:34:44" - } - ] - }, - "documentation": null, - "functionSelector": "4e41de7f", - "id": 12944, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserStakedBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12846, - "mutability": "mutable", - "name": "_dodoMine", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "492:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "492:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12848, - "mutability": "mutable", - "name": "_dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "519:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "519:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12850, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "542:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:79:44" - }, - "returnParameters": { - "id": 12856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12853, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "585:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12855, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12944, - "src": "606:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "606:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "584:43:44" - }, - "scope": 12945, - "src": "453:936:44", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12946, - "src": "390:1001:44" - } - ], - "src": "78:1314:44" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.737Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IDODORewardVault.json b/build-v1/contracts/IDODORewardVault.json deleted file mode 100644 index 8b92666..0000000 --- a/build-v1/contracts/IDODORewardVault.json +++ /dev/null @@ -1,1388 +0,0 @@ -{ - "contractName": "IDODORewardVault", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "reward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"reward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol\":\"IDODORewardVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol\":{\"keccak256\":\"0x9a1ad5dfb8c36b3750f7c3c9aef091e63bad36e2145355eb212d67988914dc1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e8ad414d377a1860b064193e015ca67187da4a47c9e925123cef4c9a6cd3448b\",\"dweb:/ipfs/QmS7Po2mSdB7Bk784Zcsxx7HFwJ17WXqKv3FuDGxH5aCFY\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Ownable} from \"../lib/Ownable.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\n\n\ninterface IDODORewardVault {\n function reward(address to, uint256 amount) external;\n}\n\n\ncontract DODORewardVault is Ownable {\n using SafeERC20 for IERC20;\n\n address public dodoToken;\n\n constructor(address _dodoToken) public {\n dodoToken = _dodoToken;\n }\n\n function reward(address to, uint256 amount) external onlyOwner {\n IERC20(dodoToken).safeTransfer(to, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "exportedSymbols": { - "DODORewardVault": [ - 12998 - ], - "IDODORewardVault": [ - 12962 - ] - }, - "id": 12999, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12947, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:45" - }, - { - "id": 12948, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:45" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 12950, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11272, - "src": "136:43:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12949, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 12952, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11441, - "src": "180:47:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12951, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:9:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12954, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 10608, - "src": "228:42:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12953, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "236:6:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12962, - "linearizedBaseContracts": [ - 12962 - ], - "name": "IDODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "21670f22", - "id": 12961, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12956, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "322:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12955, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "322:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12958, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "334:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "334:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "321:28:45" - }, - "returnParameters": { - "id": 12960, - "nodeType": "ParameterList", - "parameters": [], - "src": "358:0:45" - }, - "scope": 12962, - "src": "306:53:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "273:88:45" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 12963, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "392:7:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 12964, - "nodeType": "InheritanceSpecifier", - "src": "392:7:45" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12998, - "linearizedBaseContracts": [ - 12998, - 11271 - ], - "name": "DODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12967, - "libraryName": { - "contractScope": null, - "id": 12965, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "412:9:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "406:27:45", - "typeName": { - "contractScope": null, - "id": 12966, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "426:6:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "functionSelector": "75123ff9", - "id": 12969, - "mutability": "mutable", - "name": "dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12998, - "src": "439:24:45", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "439:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 12978, - "nodeType": "Block", - "src": "509:39:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12974, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "519:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12975, - "name": "_dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12971, - "src": "531:10:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "519:22:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12977, - "nodeType": "ExpressionStatement", - "src": "519:22:45" - } - ] - }, - "documentation": null, - "id": 12979, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12971, - "mutability": "mutable", - "name": "_dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12979, - "src": "482:18:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:20:45" - }, - "returnParameters": { - "id": 12973, - "nodeType": "ParameterList", - "parameters": [], - "src": "509:0:45" - }, - "scope": 12998, - "src": "470:78:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12996, - "nodeType": "Block", - "src": "617:59:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12992, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12981, - "src": "658:2:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12993, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12983, - "src": "662:6:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12989, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "634:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12988, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "627:6:45", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:17:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "627:30:45", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:42:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12995, - "nodeType": "ExpressionStatement", - "src": "627:42:45" - } - ] - }, - "documentation": null, - "functionSelector": "21670f22", - "id": 12997, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 12986, - "modifierName": { - "argumentTypes": null, - "id": 12985, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "607:9:45", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "607:9:45" - } - ], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12981, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "570:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "570:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12983, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "582:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "569:28:45" - }, - "returnParameters": { - "id": 12987, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:0:45" - }, - "scope": 12998, - "src": "554:122:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "364:314:45" - } - ], - "src": "78:601:45" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", - "exportedSymbols": { - "DODORewardVault": [ - 12998 - ], - "IDODORewardVault": [ - 12962 - ] - }, - "id": 12999, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 12947, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:45" - }, - { - "id": 12948, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:45" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 12950, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11272, - "src": "136:43:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12949, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 12952, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 11441, - "src": "180:47:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12951, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:9:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 12954, - "nodeType": "ImportDirective", - "scope": 12999, - "sourceUnit": 10608, - "src": "228:42:45", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 12953, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "236:6:45", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 12962, - "linearizedBaseContracts": [ - 12962 - ], - "name": "IDODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "21670f22", - "id": 12961, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12956, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "322:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12955, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "322:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12958, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12961, - "src": "334:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "334:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "321:28:45" - }, - "returnParameters": { - "id": 12960, - "nodeType": "ParameterList", - "parameters": [], - "src": "358:0:45" - }, - "scope": 12962, - "src": "306:53:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "273:88:45" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 12963, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "392:7:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 12964, - "nodeType": "InheritanceSpecifier", - "src": "392:7:45" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 12998, - "linearizedBaseContracts": [ - 12998, - 11271 - ], - "name": "DODORewardVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 12967, - "libraryName": { - "contractScope": null, - "id": 12965, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "412:9:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "406:27:45", - "typeName": { - "contractScope": null, - "id": 12966, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "426:6:45", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "functionSelector": "75123ff9", - "id": 12969, - "mutability": "mutable", - "name": "dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12998, - "src": "439:24:45", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "439:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 12978, - "nodeType": "Block", - "src": "509:39:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 12976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 12974, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "519:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 12975, - "name": "_dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12971, - "src": "531:10:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "519:22:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12977, - "nodeType": "ExpressionStatement", - "src": "519:22:45" - } - ] - }, - "documentation": null, - "id": 12979, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12971, - "mutability": "mutable", - "name": "_dodoToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12979, - "src": "482:18:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "482:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:20:45" - }, - "returnParameters": { - "id": 12973, - "nodeType": "ParameterList", - "parameters": [], - "src": "509:0:45" - }, - "scope": 12998, - "src": "470:78:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 12996, - "nodeType": "Block", - "src": "617:59:45", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12992, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12981, - "src": "658:2:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 12993, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12983, - "src": "662:6:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 12989, - "name": "dodoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12969, - "src": "634:9:45", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 12988, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "627:6:45", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 12990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:17:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 12991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "627:30:45", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 12994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "627:42:45", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 12995, - "nodeType": "ExpressionStatement", - "src": "627:42:45" - } - ] - }, - "documentation": null, - "functionSelector": "21670f22", - "id": 12997, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 12986, - "modifierName": { - "argumentTypes": null, - "id": 12985, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "607:9:45", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "607:9:45" - } - ], - "name": "reward", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 12984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12981, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "570:10:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 12980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "570:7:45", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 12983, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 12997, - "src": "582:14:45", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 12982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:45", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "569:28:45" - }, - "returnParameters": { - "id": 12987, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:0:45" - }, - "scope": 12998, - "src": "554:122:45", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 12999, - "src": "364:314:45" - } - ], - "src": "78:601:45" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.740Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IDODOZoo.json b/build-v1/contracts/IDODOZoo.json deleted file mode 100644 index 96d363f..0000000 --- a/build-v1/contracts/IDODOZoo.json +++ /dev/null @@ -1,34000 +0,0 @@ -{ - "contractName": "IDODOZoo", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "quoteToken", - "type": "address" - } - ], - "name": "getDODO", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"}],\"name\":\"getDODO\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol\":\"IDODOZoo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol\":{\"keccak256\":\"0xc176f60e025dd47dff2dce5fc492d1a2cabc692d8b0909abfefeb01fcfd1e0da\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://32507f11b7d506cee5b15664ad2cb7219961d4791a3d786846ed26be501121fc\",\"dweb:/ipfs/QmS1Lp2mZ7Ho8qnYVRdwqrQjJPy77nqAAgfY9QeGYq73BH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol\":{\"keccak256\":\"0x477940fe56d5823b603218a07d843eb013524a5b44e2784bf38b8374c22dd4ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c9111ef0a330bb0353c5232742867bb18259dd19edd6fb58c83046c007f4dae4\",\"dweb:/ipfs/QmWE34g93fLw5sjMfNxRKP4NU6gdjmyd4A2HNVH9DrkdKp\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {ReentrancyGuard} from \"./lib/ReentrancyGuard.sol\";\nimport {SafeERC20} from \"./lib/SafeERC20.sol\";\nimport {SafeMath} from \"./lib/SafeMath.sol\";\nimport {IDODO} from \"./intf/IDODO.sol\";\nimport {IERC20} from \"./intf/IERC20.sol\";\nimport {IWETH} from \"./intf/IWETH.sol\";\n\ninterface IDODOZoo {\n function getDODO(address baseToken, address quoteToken) external view returns (address);\n}\n\n/**\n * @title DODO Eth Proxy\n * @author DODO Breeder\n *\n * @notice Handle ETH-WETH converting for users.\n */\ncontract DODOEthProxy is ReentrancyGuard {\n using SafeERC20 for IERC20;\n using SafeMath for uint256;\n\n address public _DODO_ZOO_;\n address payable public _WETH_;\n\n // ============ Events ============\n\n event ProxySellEthToToken(\n address indexed seller,\n address indexed quoteToken,\n uint256 payEth,\n uint256 receiveToken\n );\n\n event ProxyBuyEthWithToken(\n address indexed buyer,\n address indexed quoteToken,\n uint256 receiveEth,\n uint256 payToken\n );\n\n event ProxySellTokenToEth(\n address indexed seller,\n address indexed baseToken,\n uint256 payToken,\n uint256 receiveEth\n );\n\n event ProxyBuyTokenWithEth(\n address indexed buyer,\n address indexed baseToken,\n uint256 receiveToken,\n uint256 payEth\n );\n\n event ProxyDepositEthAsBase(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n event ProxyWithdrawEthAsBase(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n event ProxyDepositEthAsQuote(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n event ProxyWithdrawEthAsQuote(address indexed lp, address indexed DODO, uint256 ethAmount);\n\n // ============ Functions ============\n\n constructor(address dodoZoo, address payable weth) public {\n _DODO_ZOO_ = dodoZoo;\n _WETH_ = weth;\n }\n\n fallback() external payable {\n require(msg.sender == _WETH_, \"WE_SAVED_YOUR_ETH_:)\");\n }\n\n receive() external payable {\n require(msg.sender == _WETH_, \"WE_SAVED_YOUR_ETH_:)\");\n }\n\n function sellEthToToken(\n address quoteTokenAddress,\n uint256 ethAmount,\n uint256 minReceiveTokenAmount\n ) external payable preventReentrant returns (uint256 receiveTokenAmount) {\n require(msg.value == ethAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IWETH(_WETH_).deposit{value: ethAmount}();\n IWETH(_WETH_).approve(DODO, ethAmount);\n receiveTokenAmount = IDODO(DODO).sellBaseToken(ethAmount, minReceiveTokenAmount, \"\");\n _transferOut(quoteTokenAddress, msg.sender, receiveTokenAmount);\n emit ProxySellEthToToken(msg.sender, quoteTokenAddress, ethAmount, receiveTokenAmount);\n return receiveTokenAmount;\n }\n\n function buyEthWithToken(\n address quoteTokenAddress,\n uint256 ethAmount,\n uint256 maxPayTokenAmount\n ) external preventReentrant returns (uint256 payTokenAmount) {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n payTokenAmount = IDODO(DODO).queryBuyBaseToken(ethAmount);\n _transferIn(quoteTokenAddress, msg.sender, payTokenAmount);\n IERC20(quoteTokenAddress).safeApprove(DODO, payTokenAmount);\n IDODO(DODO).buyBaseToken(ethAmount, maxPayTokenAmount, \"\");\n IWETH(_WETH_).withdraw(ethAmount);\n msg.sender.transfer(ethAmount);\n emit ProxyBuyEthWithToken(msg.sender, quoteTokenAddress, ethAmount, payTokenAmount);\n return payTokenAmount;\n }\n\n function sellTokenToEth(\n address baseTokenAddress,\n uint256 tokenAmount,\n uint256 minReceiveEthAmount\n ) external preventReentrant returns (uint256 receiveEthAmount) {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IERC20(baseTokenAddress).safeApprove(DODO, tokenAmount);\n _transferIn(baseTokenAddress, msg.sender, tokenAmount);\n receiveEthAmount = IDODO(DODO).sellBaseToken(tokenAmount, minReceiveEthAmount, \"\");\n IWETH(_WETH_).withdraw(receiveEthAmount);\n msg.sender.transfer(receiveEthAmount);\n emit ProxySellTokenToEth(msg.sender, baseTokenAddress, tokenAmount, receiveEthAmount);\n return receiveEthAmount;\n }\n\n function buyTokenWithEth(\n address baseTokenAddress,\n uint256 tokenAmount,\n uint256 maxPayEthAmount\n ) external payable preventReentrant returns (uint256 payEthAmount) {\n require(msg.value == maxPayEthAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n payEthAmount = IDODO(DODO).queryBuyBaseToken(tokenAmount);\n IWETH(_WETH_).deposit{value: payEthAmount}();\n IWETH(_WETH_).approve(DODO, payEthAmount);\n IDODO(DODO).buyBaseToken(tokenAmount, maxPayEthAmount, \"\");\n _transferOut(baseTokenAddress, msg.sender, tokenAmount);\n uint256 refund = maxPayEthAmount.sub(payEthAmount);\n if (refund > 0) {\n msg.sender.transfer(refund);\n }\n emit ProxyBuyTokenWithEth(msg.sender, baseTokenAddress, tokenAmount, payEthAmount);\n return payEthAmount;\n }\n\n function depositEthAsBase(uint256 ethAmount, address quoteTokenAddress)\n external\n payable\n preventReentrant\n {\n require(msg.value == ethAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IWETH(_WETH_).deposit{value: ethAmount}();\n IWETH(_WETH_).approve(DODO, ethAmount);\n IDODO(DODO).depositBaseTo(msg.sender, ethAmount);\n emit ProxyDepositEthAsBase(msg.sender, DODO, ethAmount);\n }\n\n function withdrawEthAsBase(uint256 ethAmount, address quoteTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._BASE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawBase(ethAmount);\n\n // transfer remain shares back to msg.sender\n lpBalance = IERC20(ethLpToken).balanceOf(address(this));\n IERC20(ethLpToken).transfer(msg.sender, lpBalance);\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsBase(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n function withdrawAllEthAsBase(address quoteTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._BASE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawAllBase();\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsBase(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n function depositEthAsQuote(uint256 ethAmount, address baseTokenAddress)\n external\n payable\n preventReentrant\n {\n require(msg.value == ethAmount, \"ETH_AMOUNT_NOT_MATCH\");\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n IWETH(_WETH_).deposit{value: ethAmount}();\n IWETH(_WETH_).approve(DODO, ethAmount);\n IDODO(DODO).depositQuoteTo(msg.sender, ethAmount);\n emit ProxyDepositEthAsQuote(msg.sender, DODO, ethAmount);\n }\n\n function withdrawEthAsQuote(uint256 ethAmount, address baseTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._QUOTE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawQuote(ethAmount);\n\n // transfer remain shares back to msg.sender\n lpBalance = IERC20(ethLpToken).balanceOf(address(this));\n IERC20(ethLpToken).transfer(msg.sender, lpBalance);\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsQuote(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n function withdrawAllEthAsQuote(address baseTokenAddress)\n external\n preventReentrant\n returns (uint256 withdrawAmount)\n {\n address DODO = IDODOZoo(_DODO_ZOO_).getDODO(baseTokenAddress, _WETH_);\n require(DODO != address(0), \"DODO_NOT_EXIST\");\n address ethLpToken = IDODO(DODO)._QUOTE_CAPITAL_TOKEN_();\n\n // transfer all pool shares to proxy\n uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);\n IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);\n IDODO(DODO).withdrawAllQuote();\n\n // because of withdraw penalty, withdrawAmount may not equal to ethAmount\n // query weth amount first and than transfer ETH to msg.sender\n uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));\n IWETH(_WETH_).withdraw(wethAmount);\n msg.sender.transfer(wethAmount);\n emit ProxyWithdrawEthAsQuote(msg.sender, DODO, wethAmount);\n return wethAmount;\n }\n\n // ============ Helper Functions ============\n\n function _transferIn(\n address tokenAddress,\n address from,\n uint256 amount\n ) internal {\n IERC20(tokenAddress).safeTransferFrom(from, address(this), amount);\n }\n\n function _transferOut(\n address tokenAddress,\n address to,\n uint256 amount\n ) internal {\n IERC20(tokenAddress).safeTransfer(to, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol", - "exportedSymbols": { - "DODOEthProxy": [ - 1166 - ], - "IDODOZoo": [ - 24 - ] - }, - "id": 1167, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:0" - }, - { - "id": 2, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:0" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "file": "./lib/ReentrancyGuard.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11297, - "src": "136:58:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:15:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "./lib/SafeERC20.sol", - "id": 6, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11441, - "src": "195:46:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 5, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "203:9:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./lib/SafeMath.sol", - "id": 8, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11624, - "src": "242:44:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "250:8:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "./intf/IDODO.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10492, - "src": "287:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "295:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "./intf/IERC20.sol", - "id": 12, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10608, - "src": "327:41:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "335:6:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "file": "./intf/IWETH.sol", - "id": 14, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10679, - "src": "369:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "377:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 24, - "linearizedBaseContracts": [ - 24 - ], - "name": "IDODOZoo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "1273b0c6", - "id": 23, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "452:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "452:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "471:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "471:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "451:39:0" - }, - "returnParameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "514:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:9:0" - }, - "scope": 24, - "src": "435:88:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1167, - "src": "410:115:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11296, - "src": "661:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$11296", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 27, - "nodeType": "InheritanceSpecifier", - "src": "661:15:0" - } - ], - "contractDependencies": [ - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 25, - "nodeType": "StructuredDocumentation", - "src": "527:108:0", - "text": " @title DODO Eth Proxy\n @author DODO Breeder\n @notice Handle ETH-WETH converting for users." - }, - "fullyImplemented": true, - "id": 1166, - "linearizedBaseContracts": [ - 1166, - 11296 - ], - "name": "DODOEthProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 30, - "libraryName": { - "contractScope": null, - "id": 28, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "689:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "683:27:0", - "typeName": { - "contractScope": null, - "id": 29, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "703:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "id": 33, - "libraryName": { - "contractScope": null, - "id": 31, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "721:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "715:27:0", - "typeName": { - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "734:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "39239f72", - "id": 35, - "mutability": "mutable", - "name": "_DODO_ZOO_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "748:25:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 34, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "748:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0d4eec8f", - "id": 37, - "mutability": "mutable", - "name": "_WETH_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "779:29:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 47, - "name": "ProxySellEthToToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 46, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 39, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "891:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 38, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "923:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "923:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 43, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "959:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 42, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "959:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 45, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "983:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:128:0" - }, - "src": "856:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 57, - "name": "ProxyBuyEthWithToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 56, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 49, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1052:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 48, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1052:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 51, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1083:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1083:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 53, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1119:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 52, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1119:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1147:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 54, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1147:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1042:127:0" - }, - "src": "1016:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 67, - "name": "ProxySellTokenToEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 59, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1211:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 58, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 61, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1243:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 63, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1278:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 62, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 65, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1304:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1304:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1201:127:0" - }, - "src": "1176:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 77, - "name": "ProxyBuyTokenWithEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 76, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 69, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1371:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 68, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1371:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 71, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1402:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1402:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 73, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1437:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 75, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1467:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1467:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1361:126:0" - }, - "src": "1335:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 85, - "name": "ProxyDepositEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 84, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1522:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 78, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1522:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 81, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1542:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1564:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1564:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1521:61:0" - }, - "src": "1494:89:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 93, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 92, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1618:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1638:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1638:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1660:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 90, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1617:61:0" - }, - "src": "1589:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 101, - "name": "ProxyDepositEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 95, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1714:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 94, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1714:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 97, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1734:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 96, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1734:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 99, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1756:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1713:61:0" - }, - "src": "1685:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 109, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1811:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1811:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 105, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1831:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1831:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1853:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1810:61:0" - }, - "src": "1781:91:0" - }, - { - "body": { - "id": 124, - "nodeType": "Block", - "src": "1980:60:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 116, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1990:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 117, - "name": "dodoZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "2003:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1990:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 119, - "nodeType": "ExpressionStatement", - "src": "1990:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 120, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2020:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 121, - "name": "weth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "2029:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2020:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 123, - "nodeType": "ExpressionStatement", - "src": "2020:13:0" - } - ] - }, - "documentation": null, - "id": 125, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 111, - "mutability": "mutable", - "name": "dodoZoo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1934:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1934:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 113, - "mutability": "mutable", - "name": "weth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1951:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1951:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1933:39:0" - }, - "returnParameters": { - "id": 115, - "nodeType": "ParameterList", - "parameters": [], - "src": "1980:0:0" - }, - "scope": 1166, - "src": "1922:118:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 136, - "nodeType": "Block", - "src": "2074:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 131, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2106:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2092:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2114:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 128, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 135, - "nodeType": "ExpressionStatement", - "src": "2084:53:0" - } - ] - }, - "documentation": null, - "id": 137, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 126, - "nodeType": "ParameterList", - "parameters": [], - "src": "2054:2:0" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [], - "src": "2074:0:0" - }, - "scope": 1166, - "src": "2046:98:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 148, - "nodeType": "Block", - "src": "2177:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 141, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2195:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2195:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 143, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2209:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2195:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2217:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2187:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2187:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "2187:53:0" - } - ] - }, - "documentation": null, - "id": 149, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 138, - "nodeType": "ParameterList", - "parameters": [], - "src": "2157:2:0" - }, - "returnParameters": { - "id": 139, - "nodeType": "ParameterList", - "parameters": [], - "src": "2177:0:0" - }, - "scope": 1166, - "src": "2150:97:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 234, - "nodeType": "Block", - "src": "2455:604:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2473:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2473:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 165, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2486:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2473:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2497:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 162, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2465:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2465:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 169, - "nodeType": "ExpressionStatement", - "src": "2465:55:0" - }, - { - "assignments": [ - 171 - ], - "declarations": [ - { - "constant": false, - "id": 171, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 234, - "src": "2530:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2530:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 179, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 176, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2574:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 177, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2582:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "2554:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 172, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "2545:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "2545:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2530:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 181, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2618:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2634:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2626:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2618:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2610:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2610:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 189, - "nodeType": "ExpressionStatement", - "src": "2610:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 191, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2671:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 190, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2665:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "2665:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 194, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2694:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2665:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "2665:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 202, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2738:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 203, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2744:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 199, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2722:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 198, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2716:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "2716:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "2716:38:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 206, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2764:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 211, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2811:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 212, - "name": "minReceiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "2822:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2845:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 208, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 207, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "2785:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2764:84:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 216, - "nodeType": "ExpressionStatement", - "src": "2764:84:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 218, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2871:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2890:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2890:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 221, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2902:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 217, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "2858:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2858:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2858:63:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2956:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 227, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2968:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 228, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2987:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2998:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 224, - "name": "ProxySellEthToToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "2936:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2936:81:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "2931:86:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 232, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "3034:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 161, - "id": 233, - "nodeType": "Return", - "src": "3027:25:0" - } - ] - }, - "documentation": null, - "functionSelector": "e5134628", - "id": 235, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 158, - "modifierName": { - "argumentTypes": null, - "id": 157, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2401:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2401:16:0" - } - ], - "name": "sellEthToToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 151, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2286:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2286:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2321:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 155, - "mutability": "mutable", - "name": "minReceiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2348:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2348:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2276:107:0" - }, - "returnParameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 160, - "mutability": "mutable", - "name": "receiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2427:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2427:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2426:28:0" - }, - "scope": 1166, - "src": "2253:806:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 326, - "nodeType": "Block", - "src": "3252:621:0", - "statements": [ - { - "assignments": [ - 249 - ], - "declarations": [ - { - "constant": false, - "id": 249, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 326, - "src": "3262:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3262:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 257, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 254, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3306:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 255, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3314:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 251, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "3286:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 250, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "3277:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "3277:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3262:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 259, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3350:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3366:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3358:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3350:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3370:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 258, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3342:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 267, - "nodeType": "ExpressionStatement", - "src": "3342:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 268, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3397:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 273, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3444:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 270, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3420:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 269, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3414:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "3414:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3397:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 276, - "nodeType": "ExpressionStatement", - "src": "3397:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 278, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3476:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 279, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3495:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 281, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3507:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 277, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "3464:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3464:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "3464:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3570:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 289, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3576:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 285, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3539:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 284, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3532:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "3532:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:59:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 291, - "nodeType": "ExpressionStatement", - "src": "3532:59:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 296, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3626:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 297, - "name": "maxPayTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "3637:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 293, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3607:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 292, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3601:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "3601:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 300, - "nodeType": "ExpressionStatement", - "src": "3601:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 305, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3692:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 302, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3675:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 301, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "3669:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "3669:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "ExpressionStatement", - "src": "3669:33:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 313, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3732:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3712:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3712:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "3712:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3778:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3778:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 319, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3790:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 320, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3809:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 321, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3820:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 316, - "name": "ProxyBuyEthWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "3757:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3757:78:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 323, - "nodeType": "EmitStatement", - "src": "3752:83:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 324, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3852:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 247, - "id": 325, - "nodeType": "Return", - "src": "3845:21:0" - } - ] - }, - "documentation": null, - "functionSelector": "e8d522bb", - "id": 327, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 244, - "modifierName": { - "argumentTypes": null, - "id": 243, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3202:16:0" - } - ], - "name": "buyEthWithToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 237, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3099:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3134:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3134:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "maxPayTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3161:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3089:103:0" - }, - "returnParameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 246, - "mutability": "mutable", - "name": "payTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3228:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3227:24:0" - }, - "scope": 1166, - "src": "3065:808:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 411, - "nodeType": "Block", - "src": "4070:587:0", - "statements": [ - { - "assignments": [ - 341 - ], - "declarations": [ - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 411, - "src": "4080:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4080:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 349, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 346, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4124:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 347, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4142:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 343, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4104:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 342, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4095:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4095:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4080:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 351, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4167:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4183:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4175:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4167:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4187:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 350, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4159:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 359, - "nodeType": "ExpressionStatement", - "src": "4159:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 364, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4251:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 365, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4257:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 361, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4221:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 360, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "4214:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "4214:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 367, - "nodeType": "ExpressionStatement", - "src": "4214:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 369, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4291:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4309:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4309:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4321:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 368, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "4279:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4279:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 374, - "nodeType": "ExpressionStatement", - "src": "4279:54:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 375, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4343:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 380, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4388:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 381, - "name": "minReceiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 333, - "src": "4401:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4422:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 377, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 376, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "4362:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "4362:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4343:82:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "4343:82:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 390, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4458:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 387, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4441:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 386, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "4435:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "4435:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 392, - "nodeType": "ExpressionStatement", - "src": "4435:40:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 398, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4505:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4485:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4485:37:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "4485:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4557:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 404, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4569:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 405, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4587:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 406, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4600:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 401, - "name": "ProxySellTokenToEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "4537:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4537:80:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 408, - "nodeType": "EmitStatement", - "src": "4532:85:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 409, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4634:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 339, - "id": 410, - "nodeType": "Return", - "src": "4627:23:0" - } - ] - }, - "documentation": null, - "functionSelector": "d668e026", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 336, - "modifierName": { - "argumentTypes": null, - "id": 335, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4018:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4018:16:0" - } - ], - "name": "sellTokenToEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3912:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3912:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3946:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3946:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 333, - "mutability": "mutable", - "name": "minReceiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3975:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3902:106:0" - }, - "returnParameters": { - "id": 339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "mutability": "mutable", - "name": "receiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "4044:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4043:26:0" - }, - "scope": 1166, - "src": "3879:778:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 524, - "nodeType": "Block", - "src": "4855:775:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 426, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4873:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 428, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "4886:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4873:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4903:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 425, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4865:61:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 432, - "nodeType": "ExpressionStatement", - "src": "4865:61:0" - }, - { - "assignments": [ - 434 - ], - "declarations": [ - { - "constant": false, - "id": 434, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "4936:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4936:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 442, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 439, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "4980:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 440, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4998:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 436, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4960:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 435, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4951:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4951:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4936:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 444, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5023:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5039:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5031:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5023:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5043:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5015:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 452, - "nodeType": "ExpressionStatement", - "src": "5015:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 453, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5070:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5115:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 455, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5091:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 454, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5085:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "5085:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:42:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5070:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 461, - "nodeType": "ExpressionStatement", - "src": "5070:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 463, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5143:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 462, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5137:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5137:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 466, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5166:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5137:42:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:44:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 469, - "nodeType": "ExpressionStatement", - "src": "5137:44:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 474, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5213:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 475, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5219:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 471, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5197:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 470, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "5191:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 477, - "nodeType": "ExpressionStatement", - "src": "5191:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 482, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5267:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 483, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5297:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 479, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5248:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 478, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5242:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "5242:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 486, - "nodeType": "ExpressionStatement", - "src": "5242:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 488, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5323:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 489, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5341:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5341:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 491, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5353:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 487, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "5310:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5310:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "5310:55:0" - }, - { - "assignments": [ - 495 - ], - "declarations": [ - { - "constant": false, - "id": 495, - "mutability": "mutable", - "name": "refund", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "5375:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5375:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 500, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 498, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5412:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 496, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5392:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5392:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5375:50:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 501, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5439:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5448:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5439:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 513, - "nodeType": "IfStatement", - "src": "5435:68:0", - "trueBody": { - "id": 512, - "nodeType": "Block", - "src": "5451:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 509, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5485:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5465:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5465:27:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 511, - "nodeType": "ExpressionStatement", - "src": "5465:27:0" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 515, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5538:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5538:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5550:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 518, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5568:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 519, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5581:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 514, - "name": "ProxyBuyTokenWithEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "5517:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5517:77:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 521, - "nodeType": "EmitStatement", - "src": "5512:82:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 522, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5611:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 424, - "id": 523, - "nodeType": "Return", - "src": "5604:19:0" - } - ] - }, - "documentation": null, - "functionSelector": "33e00053", - "id": 525, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 421, - "modifierName": { - "argumentTypes": null, - "id": 420, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4807:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4807:16:0" - } - ], - "name": "buyTokenWithEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4697:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 416, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4731:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4731:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 418, - "mutability": "mutable", - "name": "maxPayEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4760:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4760:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4687:102:0" - }, - "returnParameters": { - "id": 424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "payEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4833:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:0" - }, - "scope": 1166, - "src": "4663:967:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 594, - "nodeType": "Block", - "src": "5770:429:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 535, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5788:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5788:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 537, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5801:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5788:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5812:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5780:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5780:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 541, - "nodeType": "ExpressionStatement", - "src": "5780:55:0" - }, - { - "assignments": [ - 543 - ], - "declarations": [ - { - "constant": false, - "id": 543, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 594, - "src": "5845:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5845:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 551, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 548, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5889:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 549, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "5897:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "5869:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 544, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "5860:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5860:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5845:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 553, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "5933:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5949:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5941:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5933:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5953:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5925:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5925:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 561, - "nodeType": "ExpressionStatement", - "src": "5925:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 563, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5986:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 562, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5980:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5980:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 566, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6009:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5980:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 569, - "nodeType": "ExpressionStatement", - "src": "5980:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 574, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6053:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 575, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6059:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 571, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6037:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 570, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "6031:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "6031:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 577, - "nodeType": "ExpressionStatement", - "src": "6031:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 582, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6105:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6105:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 584, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6117:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6085:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 578, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6079:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositBaseTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10437, - "src": "6079:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "6079:48:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 588, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6164:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 590, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6176:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 591, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6182:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 587, - "name": "ProxyDepositEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "6142:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6142:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 593, - "nodeType": "EmitStatement", - "src": "6137:55:0" - } - ] - }, - "documentation": null, - "functionSelector": "b56a1d03", - "id": 595, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 532, - "modifierName": { - "argumentTypes": null, - "id": 531, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "5749:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5749:16:0" - } - ], - "name": "depositEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5662:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5662:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5681:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5681:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5661:46:0" - }, - "returnParameters": { - "id": 533, - "nodeType": "ParameterList", - "parameters": [], - "src": "5770:0:0" - }, - "scope": 1166, - "src": "5636:563:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 721, - "nodeType": "Block", - "src": "6365:1029:0", - "statements": [ - { - "assignments": [ - 607 - ], - "declarations": [ - { - "constant": false, - "id": 607, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6375:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6375:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 615, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 612, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6419:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 613, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "6427:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 609, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "6399:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 608, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "6390:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6390:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6375:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 617, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6463:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6479:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6471:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6463:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6483:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 616, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6455:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 625, - "nodeType": "ExpressionStatement", - "src": "6455:45:0" - }, - { - "assignments": [ - 627 - ], - "declarations": [ - { - "constant": false, - "id": 627, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6510:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6510:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 633, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 629, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6537:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 628, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6531:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "6531:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6510:55:0" - }, - { - "assignments": [ - 635 - ], - "declarations": [ - { - "constant": false, - "id": 635, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6621:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6621:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 643, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6670:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6670:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 637, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 636, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6621:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 648, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6723:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6723:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 652, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6743:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6735:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 654, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6750:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 645, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6698:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 644, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6691:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "6691:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 656, - "nodeType": "ExpressionStatement", - "src": "6691:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 661, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "6795:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 658, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6776:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 657, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6770:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10444, - "src": "6770:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 663, - "nodeType": "ExpressionStatement", - "src": "6770:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 664, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6869:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 671, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6918:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6910:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 666, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6888:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 665, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6881:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6881:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6869:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 675, - "nodeType": "ExpressionStatement", - "src": "6869:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6962:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6962:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 682, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6974:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 677, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6941:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 676, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6934:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "6934:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 684, - "nodeType": "ExpressionStatement", - "src": "6934:50:0" - }, - { - "assignments": [ - 686 - ], - "declarations": [ - { - "constant": false, - "id": 686, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "7148:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7148:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 696, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 693, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7202:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7194:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 688, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7176:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 687, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7169:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7169:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7148:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 701, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7241:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 698, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7224:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 697, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "7218:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "7218:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "7218:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7282:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 704, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7262:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7262:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "7262:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 713, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7331:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7331:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 715, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "7343:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 716, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7349:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 712, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "7308:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7308:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 718, - "nodeType": "EmitStatement", - "src": "7303:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 719, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7377:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 605, - "id": 720, - "nodeType": "Return", - "src": "7370:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "827df194", - "id": 722, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 602, - "modifierName": { - "argumentTypes": null, - "id": 601, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "6303:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6303:16:0" - } - ], - "name": "withdrawEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 597, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6232:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6232:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 599, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6251:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6251:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6231:46:0" - }, - "returnParameters": { - "id": 605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6337:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6336:24:0" - }, - "scope": 1166, - "src": "6205:1189:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "7544:844:0", - "statements": [ - { - "assignments": [ - 732 - ], - "declarations": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7554:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 731, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7554:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 740, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7598:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7606:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 734, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "7578:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 733, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "7569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "7569:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7554:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 742, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7642:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7658:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 743, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7650:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7642:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7662:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 741, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7634:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 750, - "nodeType": "ExpressionStatement", - "src": "7634:45:0" - }, - { - "assignments": [ - 752 - ], - "declarations": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7689:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7689:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 758, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 754, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 753, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "7710:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7689:55:0" - }, - { - "assignments": [ - 760 - ], - "declarations": [ - { - "constant": false, - "id": 760, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7800:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7800:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 768, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 765, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7849:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 762, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7827:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 761, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7820:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7820:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7800:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7902:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7902:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 777, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7922:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7914:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 779, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7929:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 770, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7877:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 769, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7870:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "7870:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 781, - "nodeType": "ExpressionStatement", - "src": "7870:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7955:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 782, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7949:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10449, - "src": "7949:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 787, - "nodeType": "ExpressionStatement", - "src": "7949:29:0" - }, - { - "assignments": [ - 789 - ], - "declarations": [ - { - "constant": false, - "id": 789, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "8142:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8142:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 799, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8196:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8188:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 791, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8170:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 790, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "8163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "8163:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8142:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 804, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8235:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 801, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8218:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 800, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8212:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "8212:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 806, - "nodeType": "ExpressionStatement", - "src": "8212:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 812, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8276:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 807, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8256:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8256:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 814, - "nodeType": "ExpressionStatement", - "src": "8256:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 816, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8337:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8343:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 815, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "8302:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8302:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 821, - "nodeType": "EmitStatement", - "src": "8297:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8371:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 730, - "id": 823, - "nodeType": "Return", - "src": "8364:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "0ae4b86d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 727, - "modifierName": { - "argumentTypes": null, - "id": 726, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "7482:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7482:16:0" - } - ], - "name": "withdrawAllEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 724, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7430:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7430:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7429:27:0" - }, - "returnParameters": { - "id": 730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7516:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7516:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:24:0" - }, - "scope": 1166, - "src": "7400:988:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "8528:430:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8546:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8546:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 837, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8559:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8546:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8570:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8538:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8538:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 841, - "nodeType": "ExpressionStatement", - "src": "8538:55:0" - }, - { - "assignments": [ - 843 - ], - "declarations": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "8603:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8603:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 851, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 848, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "8647:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 849, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8665:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 845, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "8627:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 844, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "8618:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "8618:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8603:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 853, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8690:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8706:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8698:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8690:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8710:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 852, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8682:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8682:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 861, - "nodeType": "ExpressionStatement", - "src": "8682:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 863, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8743:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 862, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8737:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "8737:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 866, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8766:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "8737:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 869, - "nodeType": "ExpressionStatement", - "src": "8737:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 874, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 875, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8816:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 871, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8794:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 870, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8788:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "8788:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 877, - "nodeType": "ExpressionStatement", - "src": "8788:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 882, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8863:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8863:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 884, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8875:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 879, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8842:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 878, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "8836:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositQuoteTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "8836:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:49:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 886, - "nodeType": "ExpressionStatement", - "src": "8836:49:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 888, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8923:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8923:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 890, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8935:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 891, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8941:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 887, - "name": "ProxyDepositEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8900:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8900:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 893, - "nodeType": "EmitStatement", - "src": "8895:56:0" - } - ] - }, - "documentation": null, - "functionSelector": "ba9344a4", - "id": 895, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 832, - "modifierName": { - "argumentTypes": null, - "id": 831, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "8507:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8507:16:0" - } - ], - "name": "depositEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8421:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8421:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8440:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8420:45:0" - }, - "returnParameters": { - "id": 833, - "nodeType": "ParameterList", - "parameters": [], - "src": "8528:0:0" - }, - "scope": 1166, - "src": "8394:564:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1021, - "nodeType": "Block", - "src": "9124:1031:0", - "statements": [ - { - "assignments": [ - 907 - ], - "declarations": [ - { - "constant": false, - "id": 907, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9134:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9134:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 915, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 912, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "9178:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9196:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 909, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "9158:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 908, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "9149:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "9149:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9134:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 917, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9221:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9237:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9229:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9221:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9241:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 916, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9213:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9213:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 925, - "nodeType": "ExpressionStatement", - "src": "9213:45:0" - }, - { - "assignments": [ - 927 - ], - "declarations": [ - { - "constant": false, - "id": 927, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9268:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 933, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 929, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9295:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 928, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9289:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "9289:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9268:56:0" - }, - { - "assignments": [ - 935 - ], - "declarations": [ - { - "constant": false, - "id": 935, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9380:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 943, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 940, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9429:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9429:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 937, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9407:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 936, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9400:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9380:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9482:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9482:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 952, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9502:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9494:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 954, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9509:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9457:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 944, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9450:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "9450:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 956, - "nodeType": "ExpressionStatement", - "src": "9450:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 961, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9555:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 958, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9535:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 957, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9529:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10465, - "src": "9529:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "nodeType": "ExpressionStatement", - "src": "9529:36:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 964, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9629:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 971, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9678:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9670:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 966, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 965, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9629:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 975, - "nodeType": "ExpressionStatement", - "src": "9629:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 980, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9722:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9722:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 982, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9734:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 977, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9701:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 976, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9694:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "9694:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 984, - "nodeType": "ExpressionStatement", - "src": "9694:50:0" - }, - { - "assignments": [ - 986 - ], - "declarations": [ - { - "constant": false, - "id": 986, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9908:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 993, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9962:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9954:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 988, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9936:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 987, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9929:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9929:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1001, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10001:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 998, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9984:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 997, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "9978:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "9978:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "9978:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1009, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10042:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10022:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10022:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1011, - "nodeType": "ExpressionStatement", - "src": "10022:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1013, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1015, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "10104:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10110:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1012, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "10068:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10068:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1018, - "nodeType": "EmitStatement", - "src": "10063:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1019, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10138:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 905, - "id": 1020, - "nodeType": "Return", - "src": "10131:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "770e96d3", - "id": 1022, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 902, - "modifierName": { - "argumentTypes": null, - "id": 901, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "9062:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9062:16:0" - } - ], - "name": "withdrawEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "8992:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8992:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9011:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9011:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8991:45:0" - }, - "returnParameters": { - "id": 905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 904, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9096:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9095:24:0" - }, - "scope": 1166, - "src": "8964:1191:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1124, - "nodeType": "Block", - "src": "10305:846:0", - "statements": [ - { - "assignments": [ - 1032 - ], - "declarations": [ - { - "constant": false, - "id": 1032, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10315:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10315:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1037, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "10359:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1038, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1034, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "10339:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1033, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "10330:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 1035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 1036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "10330:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10315:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1042, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10402:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10418:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10410:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10402:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10422:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 1041, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10394:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10394:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1050, - "nodeType": "ExpressionStatement", - "src": "10394:45:0" - }, - { - "assignments": [ - 1052 - ], - "declarations": [ - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10449:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10449:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1058, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1054, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10476:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1053, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10470:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "10470:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10449:56:0" - }, - { - "assignments": [ - 1060 - ], - "declarations": [ - { - "constant": false, - "id": 1060, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10561:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10561:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1068, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10610:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10610:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1062, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10588:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1061, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10581:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10581:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10561:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10663:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10663:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1077, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10683:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10675:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1079, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "10690:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1070, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10638:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1069, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10631:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "10631:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1081, - "nodeType": "ExpressionStatement", - "src": "10631:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1083, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1082, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10470, - "src": "10710:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 1086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1087, - "nodeType": "ExpressionStatement", - "src": "10710:30:0" - }, - { - "assignments": [ - 1089 - ], - "declarations": [ - { - "constant": false, - "id": 1089, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10904:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10904:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1099, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1096, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10958:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10950:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1091, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10932:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1090, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10925:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10925:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10904:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "10997:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1101, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10980:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1100, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "10974:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "10974:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "10974:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1112, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11038:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1107, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11018:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11018:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1114, - "nodeType": "ExpressionStatement", - "src": "11018:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1116, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11088:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11088:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1118, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "11100:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1119, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11106:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1115, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "11064:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11064:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1121, - "nodeType": "EmitStatement", - "src": "11059:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1122, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11134:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1030, - "id": 1123, - "nodeType": "Return", - "src": "11127:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "3cff9b56", - "id": 1125, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1027, - "modifierName": { - "argumentTypes": null, - "id": 1026, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "10243:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10243:16:0" - } - ], - "name": "withdrawAllEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1024, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10192:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10192:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10191:26:0" - }, - "returnParameters": { - "id": 1030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1029, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10277:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10276:24:0" - }, - "scope": 1166, - "src": "10161:990:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1146, - "nodeType": "Block", - "src": "11320:83:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1138, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1129, - "src": "11368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1141, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11382:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11374:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1143, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1131, - "src": "11389:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1135, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "11337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1134, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11330:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "11330:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:66:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "11330:66:0" - } - ] - }, - "documentation": null, - "id": 1147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1127, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11238:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11238:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1129, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11268:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11290:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11290:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11228:82:0" - }, - "returnParameters": { - "id": 1133, - "nodeType": "ParameterList", - "parameters": [], - "src": "11320:0:0" - }, - "scope": 1166, - "src": "11208:195:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1164, - "nodeType": "Block", - "src": "11520:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1151, - "src": "11564:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1161, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "11568:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1157, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "11537:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1156, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11530:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "11530:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "ExpressionStatement", - "src": "11530:45:0" - } - ] - }, - "documentation": null, - "id": 1165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11440:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11470:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11470:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11490:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11490:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11430:80:0" - }, - "returnParameters": { - "id": 1155, - "nodeType": "ParameterList", - "parameters": [], - "src": "11520:0:0" - }, - "scope": 1166, - "src": "11409:173:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1167, - "src": "636:10948:0" - } - ], - "src": "78:11507:0" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/DODOEthProxy.sol", - "exportedSymbols": { - "DODOEthProxy": [ - 1166 - ], - "IDODOZoo": [ - 24 - ] - }, - "id": 1167, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:0" - }, - { - "id": 2, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:0" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "file": "./lib/ReentrancyGuard.sol", - "id": 4, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11297, - "src": "136:58:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:15:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "./lib/SafeERC20.sol", - "id": 6, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11441, - "src": "195:46:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 5, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "203:9:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./lib/SafeMath.sol", - "id": 8, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 11624, - "src": "242:44:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "250:8:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "./intf/IDODO.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10492, - "src": "287:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "295:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "./intf/IERC20.sol", - "id": 12, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10608, - "src": "327:41:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "335:6:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "file": "./intf/IWETH.sol", - "id": 14, - "nodeType": "ImportDirective", - "scope": 1167, - "sourceUnit": 10679, - "src": "369:39:0", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "377:5:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 24, - "linearizedBaseContracts": [ - 24 - ], - "name": "IDODOZoo", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "1273b0c6", - "id": 23, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getDODO", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "452:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "452:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "471:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 17, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "471:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "451:39:0" - }, - "returnParameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 21, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 23, - "src": "514:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 20, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "514:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "513:9:0" - }, - "scope": 24, - "src": "435:88:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1167, - "src": "410:115:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 26, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11296, - "src": "661:15:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$11296", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 27, - "nodeType": "InheritanceSpecifier", - "src": "661:15:0" - } - ], - "contractDependencies": [ - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 25, - "nodeType": "StructuredDocumentation", - "src": "527:108:0", - "text": " @title DODO Eth Proxy\n @author DODO Breeder\n @notice Handle ETH-WETH converting for users." - }, - "fullyImplemented": true, - "id": 1166, - "linearizedBaseContracts": [ - 1166, - 11296 - ], - "name": "DODOEthProxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 30, - "libraryName": { - "contractScope": null, - "id": 28, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "689:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "683:27:0", - "typeName": { - "contractScope": null, - "id": 29, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "703:6:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "id": 33, - "libraryName": { - "contractScope": null, - "id": 31, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "721:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "715:27:0", - "typeName": { - "id": 32, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "734:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "39239f72", - "id": 35, - "mutability": "mutable", - "name": "_DODO_ZOO_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "748:25:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 34, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "748:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0d4eec8f", - "id": 37, - "mutability": "mutable", - "name": "_WETH_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1166, - "src": "779:29:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 47, - "name": "ProxySellEthToToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 46, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 39, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "891:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 38, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "923:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "923:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 43, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "959:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 42, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "959:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 45, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 47, - "src": "983:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:128:0" - }, - "src": "856:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 57, - "name": "ProxyBuyEthWithToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 56, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 49, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1052:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 48, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1052:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 51, - "indexed": true, - "mutability": "mutable", - "name": "quoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1083:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1083:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 53, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1119:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 52, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1119:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 57, - "src": "1147:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 54, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1147:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1042:127:0" - }, - "src": "1016:154:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 67, - "name": "ProxySellTokenToEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 59, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1211:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 58, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 61, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1243:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 63, - "indexed": false, - "mutability": "mutable", - "name": "payToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1278:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 62, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1278:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 65, - "indexed": false, - "mutability": "mutable", - "name": "receiveEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 67, - "src": "1304:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1304:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1201:127:0" - }, - "src": "1176:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 77, - "name": "ProxyBuyTokenWithEth", - "nodeType": "EventDefinition", - "parameters": { - "id": 76, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 69, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1371:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 68, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1371:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 71, - "indexed": true, - "mutability": "mutable", - "name": "baseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1402:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1402:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 73, - "indexed": false, - "mutability": "mutable", - "name": "receiveToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1437:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 75, - "indexed": false, - "mutability": "mutable", - "name": "payEth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 77, - "src": "1467:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1467:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1361:126:0" - }, - "src": "1335:153:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 85, - "name": "ProxyDepositEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 84, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1522:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 78, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1522:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 81, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1542:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1542:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1564:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1564:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1521:61:0" - }, - "src": "1494:89:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 93, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "EventDefinition", - "parameters": { - "id": 92, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1618:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1638:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1638:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "1660:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 90, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1617:61:0" - }, - "src": "1589:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 101, - "name": "ProxyDepositEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 95, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1714:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 94, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1714:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 97, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1734:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 96, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1734:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 99, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 101, - "src": "1756:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1713:61:0" - }, - "src": "1685:90:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 109, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "EventDefinition", - "parameters": { - "id": 108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "indexed": true, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1811:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1811:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 105, - "indexed": true, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1831:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1831:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "indexed": false, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 109, - "src": "1853:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1853:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1810:61:0" - }, - "src": "1781:91:0" - }, - { - "body": { - "id": 124, - "nodeType": "Block", - "src": "1980:60:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 116, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1990:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 117, - "name": "dodoZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "2003:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1990:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 119, - "nodeType": "ExpressionStatement", - "src": "1990:20:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 120, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2020:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 121, - "name": "weth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "2029:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2020:13:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 123, - "nodeType": "ExpressionStatement", - "src": "2020:13:0" - } - ] - }, - "documentation": null, - "id": 125, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 111, - "mutability": "mutable", - "name": "dodoZoo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1934:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1934:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 113, - "mutability": "mutable", - "name": "weth", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 125, - "src": "1951:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1951:15:0", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1933:39:0" - }, - "returnParameters": { - "id": 115, - "nodeType": "ParameterList", - "parameters": [], - "src": "1980:0:0" - }, - "scope": 1166, - "src": "1922:118:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 136, - "nodeType": "Block", - "src": "2074:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 131, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2106:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2092:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2114:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 128, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 135, - "nodeType": "ExpressionStatement", - "src": "2084:53:0" - } - ] - }, - "documentation": null, - "id": 137, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 126, - "nodeType": "ParameterList", - "parameters": [], - "src": "2054:2:0" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [], - "src": "2074:0:0" - }, - "scope": 1166, - "src": "2046:98:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 148, - "nodeType": "Block", - "src": "2177:70:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 141, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2195:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2195:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 143, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2209:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2195:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57455f53415645445f594f55525f4554485f3a29", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2217:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - }, - "value": "WE_SAVED_YOUR_ETH_:)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9018661e4ed999153ca4be95c265ddafe03fe302834ed23184dd715a8b0a018", - "typeString": "literal_string \"WE_SAVED_YOUR_ETH_:)\"" - } - ], - "id": 140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2187:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2187:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "2187:53:0" - } - ] - }, - "documentation": null, - "id": 149, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 138, - "nodeType": "ParameterList", - "parameters": [], - "src": "2157:2:0" - }, - "returnParameters": { - "id": 139, - "nodeType": "ParameterList", - "parameters": [], - "src": "2177:0:0" - }, - "scope": 1166, - "src": "2150:97:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 234, - "nodeType": "Block", - "src": "2455:604:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2473:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2473:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 165, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2486:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2473:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2497:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 162, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2465:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2465:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 169, - "nodeType": "ExpressionStatement", - "src": "2465:55:0" - }, - { - "assignments": [ - 171 - ], - "declarations": [ - { - "constant": false, - "id": 171, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 234, - "src": "2530:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2530:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 179, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 176, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2574:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 177, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2582:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "2554:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 172, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "2545:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "2545:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2545:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2530:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 181, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2618:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2634:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2626:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2626:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2618:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2610:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2610:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 189, - "nodeType": "ExpressionStatement", - "src": "2610:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 191, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2671:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 190, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2665:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "2665:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 194, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2694:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2665:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2665:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "2665:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 202, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2738:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 203, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2744:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 199, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2722:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 198, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "2716:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "2716:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2716:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "2716:38:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 206, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2764:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 211, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2811:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 212, - "name": "minReceiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "2822:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2845:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 208, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "2791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 207, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "2785:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2785:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2764:84:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 216, - "nodeType": "ExpressionStatement", - "src": "2764:84:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 218, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2871:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 219, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2890:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2890:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 221, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2902:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 217, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "2858:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2858:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 223, - "nodeType": "ExpressionStatement", - "src": "2858:63:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2956:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 227, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2968:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 228, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2987:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2998:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 224, - "name": "ProxySellEthToToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "2936:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2936:81:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "2931:86:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 232, - "name": "receiveTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "3034:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 161, - "id": 233, - "nodeType": "Return", - "src": "3027:25:0" - } - ] - }, - "documentation": null, - "functionSelector": "e5134628", - "id": 235, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 158, - "modifierName": { - "argumentTypes": null, - "id": 157, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2401:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2401:16:0" - } - ], - "name": "sellEthToToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 151, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2286:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2286:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2321:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 155, - "mutability": "mutable", - "name": "minReceiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2348:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2348:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2276:107:0" - }, - "returnParameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 160, - "mutability": "mutable", - "name": "receiveTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 235, - "src": "2427:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2427:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2426:28:0" - }, - "scope": 1166, - "src": "2253:806:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 326, - "nodeType": "Block", - "src": "3252:621:0", - "statements": [ - { - "assignments": [ - 249 - ], - "declarations": [ - { - "constant": false, - "id": 249, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 326, - "src": "3262:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3262:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 257, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 254, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3306:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 255, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3314:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 251, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "3286:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 250, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "3277:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "3277:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3277:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3262:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 259, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3350:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3366:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3358:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3358:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3350:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3370:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 258, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3342:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 267, - "nodeType": "ExpressionStatement", - "src": "3342:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 268, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3397:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 273, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3444:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 270, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3420:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 269, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3414:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "3414:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3414:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3397:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 276, - "nodeType": "ExpressionStatement", - "src": "3397:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 278, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3476:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 279, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3495:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 281, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3507:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 277, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "3464:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3464:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "3464:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3570:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 289, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3576:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 285, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3539:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 284, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3532:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "3532:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3532:59:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 291, - "nodeType": "ExpressionStatement", - "src": "3532:59:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 296, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3626:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 297, - "name": "maxPayTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "3637:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 293, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "3607:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 292, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "3601:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "3601:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3601:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 300, - "nodeType": "ExpressionStatement", - "src": "3601:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 305, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3692:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 302, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "3675:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 301, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "3669:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "3669:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3669:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "ExpressionStatement", - "src": "3669:33:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 313, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3732:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3712:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3712:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3712:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "3712:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3778:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3778:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 319, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "3790:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 320, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "3809:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 321, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3820:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 316, - "name": "ProxyBuyEthWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "3757:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3757:78:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 323, - "nodeType": "EmitStatement", - "src": "3752:83:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 324, - "name": "payTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "3852:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 247, - "id": 325, - "nodeType": "Return", - "src": "3845:21:0" - } - ] - }, - "documentation": null, - "functionSelector": "e8d522bb", - "id": 327, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 244, - "modifierName": { - "argumentTypes": null, - "id": 243, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3202:16:0" - } - ], - "name": "buyEthWithToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 237, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3099:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3099:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3134:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3134:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "maxPayTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3161:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3089:103:0" - }, - "returnParameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 246, - "mutability": "mutable", - "name": "payTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 327, - "src": "3228:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3227:24:0" - }, - "scope": 1166, - "src": "3065:808:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 411, - "nodeType": "Block", - "src": "4070:587:0", - "statements": [ - { - "assignments": [ - 341 - ], - "declarations": [ - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 411, - "src": "4080:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4080:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 349, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 346, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4124:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 347, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4142:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 343, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4104:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 342, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4095:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4095:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4080:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 351, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4167:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4183:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4175:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4175:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4167:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4187:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 350, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4159:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 359, - "nodeType": "ExpressionStatement", - "src": "4159:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 364, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4251:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 365, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4257:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 361, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4221:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 360, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "4214:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 11396, - "src": "4214:36:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 367, - "nodeType": "ExpressionStatement", - "src": "4214:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 369, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4291:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4309:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4309:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4321:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 368, - "name": "_transferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "4279:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4279:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 374, - "nodeType": "ExpressionStatement", - "src": "4279:54:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 375, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4343:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 380, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4388:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 381, - "name": "minReceiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 333, - "src": "4401:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4422:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 377, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 376, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "4362:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "4362:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4343:82:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 385, - "nodeType": "ExpressionStatement", - "src": "4343:82:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 390, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4458:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 387, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4441:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 386, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "4435:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "4435:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 392, - "nodeType": "ExpressionStatement", - "src": "4435:40:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 398, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4505:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4485:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4485:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4485:37:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "4485:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4557:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 404, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "4569:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 405, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "4587:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 406, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4600:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 401, - "name": "ProxySellTokenToEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "4537:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4537:80:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 408, - "nodeType": "EmitStatement", - "src": "4532:85:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 409, - "name": "receiveEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "4634:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 339, - "id": 410, - "nodeType": "Return", - "src": "4627:23:0" - } - ] - }, - "documentation": null, - "functionSelector": "d668e026", - "id": 412, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 336, - "modifierName": { - "argumentTypes": null, - "id": 335, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4018:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4018:16:0" - } - ], - "name": "sellTokenToEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3912:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3912:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3946:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3946:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 333, - "mutability": "mutable", - "name": "minReceiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "3975:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3975:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3902:106:0" - }, - "returnParameters": { - "id": 339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "mutability": "mutable", - "name": "receiveEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 412, - "src": "4044:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4043:26:0" - }, - "scope": 1166, - "src": "3879:778:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 524, - "nodeType": "Block", - "src": "4855:775:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 426, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4873:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 428, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "4886:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4873:28:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4903:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 425, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4865:61:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 432, - "nodeType": "ExpressionStatement", - "src": "4865:61:0" - }, - { - "assignments": [ - 434 - ], - "declarations": [ - { - "constant": false, - "id": 434, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "4936:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4936:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 442, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 439, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "4980:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 440, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "4998:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 436, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "4960:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 435, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "4951:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "4951:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4951:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4936:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 444, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5023:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5039:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5031:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5031:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5023:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5043:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5015:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 452, - "nodeType": "ExpressionStatement", - "src": "5015:45:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 453, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5070:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5115:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 455, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5091:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 454, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5085:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "queryBuyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10421, - "src": "5085:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:42:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5070:57:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 461, - "nodeType": "ExpressionStatement", - "src": "5070:57:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 463, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5143:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 462, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5137:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5137:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 466, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5166:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5137:42:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5137:44:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 469, - "nodeType": "ExpressionStatement", - "src": "5137:44:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 474, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5213:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 475, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5219:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 471, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5197:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 470, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5191:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "5191:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5191:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 477, - "nodeType": "ExpressionStatement", - "src": "5191:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 482, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5267:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 483, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5297:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 479, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "5248:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 478, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "5242:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "5242:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5242:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 486, - "nodeType": "ExpressionStatement", - "src": "5242:58:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 488, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5323:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 489, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5341:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5341:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 491, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5353:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 487, - "name": "_transferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "5310:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5310:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "5310:55:0" - }, - { - "assignments": [ - 495 - ], - "declarations": [ - { - "constant": false, - "id": 495, - "mutability": "mutable", - "name": "refund", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 524, - "src": "5375:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5375:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 500, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 498, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5412:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 496, - "name": "maxPayEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "5392:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5392:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5375:50:0" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 501, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5439:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5448:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5439:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 513, - "nodeType": "IfStatement", - "src": "5435:68:0", - "trueBody": { - "id": 512, - "nodeType": "Block", - "src": "5451:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 509, - "name": "refund", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5485:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5465:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5465:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5465:27:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 511, - "nodeType": "ExpressionStatement", - "src": "5465:27:0" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 515, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5538:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5538:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5550:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 518, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "5568:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 519, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5581:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 514, - "name": "ProxyBuyTokenWithEth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "5517:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5517:77:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 521, - "nodeType": "EmitStatement", - "src": "5512:82:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 522, - "name": "payEthAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5611:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 424, - "id": 523, - "nodeType": "Return", - "src": "5604:19:0" - } - ] - }, - "documentation": null, - "functionSelector": "33e00053", - "id": 525, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 421, - "modifierName": { - "argumentTypes": null, - "id": 420, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4807:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4807:16:0" - } - ], - "name": "buyTokenWithEth", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 414, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4697:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 416, - "mutability": "mutable", - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4731:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4731:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 418, - "mutability": "mutable", - "name": "maxPayEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4760:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4760:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4687:102:0" - }, - "returnParameters": { - "id": 424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "payEthAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 525, - "src": "4833:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:0" - }, - "scope": 1166, - "src": "4663:967:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 594, - "nodeType": "Block", - "src": "5770:429:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 535, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5788:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5788:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 537, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5801:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5788:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5812:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5780:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5780:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 541, - "nodeType": "ExpressionStatement", - "src": "5780:55:0" - }, - { - "assignments": [ - 543 - ], - "declarations": [ - { - "constant": false, - "id": 543, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 594, - "src": "5845:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5845:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 551, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 548, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5889:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 549, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "5897:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "5869:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 544, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "5860:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5860:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5860:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5845:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 553, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "5933:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5949:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5941:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5941:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5933:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5953:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5925:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5925:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 561, - "nodeType": "ExpressionStatement", - "src": "5925:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 563, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "5986:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 562, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "5980:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5980:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 566, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6009:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5980:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5980:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 569, - "nodeType": "ExpressionStatement", - "src": "5980:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 574, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6053:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 575, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6059:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 571, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6037:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 570, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "6031:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "6031:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6031:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 577, - "nodeType": "ExpressionStatement", - "src": "6031:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 582, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6105:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6105:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 584, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6117:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6085:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 578, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6079:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositBaseTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10437, - "src": "6079:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6079:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "6079:48:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 588, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6164:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6164:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 590, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "6176:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 591, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "6182:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 587, - "name": "ProxyDepositEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "6142:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6142:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 593, - "nodeType": "EmitStatement", - "src": "6137:55:0" - } - ] - }, - "documentation": null, - "functionSelector": "b56a1d03", - "id": 595, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 532, - "modifierName": { - "argumentTypes": null, - "id": 531, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "5749:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5749:16:0" - } - ], - "name": "depositEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5662:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5662:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 595, - "src": "5681:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5681:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5661:46:0" - }, - "returnParameters": { - "id": 533, - "nodeType": "ParameterList", - "parameters": [], - "src": "5770:0:0" - }, - "scope": 1166, - "src": "5636:563:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 721, - "nodeType": "Block", - "src": "6365:1029:0", - "statements": [ - { - "assignments": [ - 607 - ], - "declarations": [ - { - "constant": false, - "id": 607, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6375:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6375:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 615, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 612, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "6419:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 613, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "6427:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 609, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "6399:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 608, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "6390:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6390:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6390:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6375:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 617, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6463:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6479:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6471:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6471:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6463:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6483:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 616, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6455:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6455:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 625, - "nodeType": "ExpressionStatement", - "src": "6455:45:0" - }, - { - "assignments": [ - 627 - ], - "declarations": [ - { - "constant": false, - "id": 627, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6510:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6510:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 633, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 629, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6537:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 628, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6531:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "6531:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6531:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6510:55:0" - }, - { - "assignments": [ - 635 - ], - "declarations": [ - { - "constant": false, - "id": 635, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "6621:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6621:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 643, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6670:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6670:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 637, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 636, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6641:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6621:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 648, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6723:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6723:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 652, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6743:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6735:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6735:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 654, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6750:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 645, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6698:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 644, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6691:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "6691:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 656, - "nodeType": "ExpressionStatement", - "src": "6691:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 661, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "6795:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 658, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "6776:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 657, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "6770:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10444, - "src": "6770:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6770:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 663, - "nodeType": "ExpressionStatement", - "src": "6770:35:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 664, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6869:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 671, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6918:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6910:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6910:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 666, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6888:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 665, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6881:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "6881:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6869:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 675, - "nodeType": "ExpressionStatement", - "src": "6869:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6962:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6962:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 682, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "6974:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 677, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 627, - "src": "6941:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 676, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "6934:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "6934:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6934:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 684, - "nodeType": "ExpressionStatement", - "src": "6934:50:0" - }, - { - "assignments": [ - 686 - ], - "declarations": [ - { - "constant": false, - "id": 686, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 721, - "src": "7148:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7148:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 696, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 693, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7202:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7194:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7194:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 688, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7176:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 687, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7169:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7169:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7148:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 701, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7241:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 698, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7224:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 697, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "7218:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "7218:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "7218:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7282:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 704, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7262:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7262:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7262:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "7262:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 713, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7331:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7331:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 715, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "7343:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 716, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7349:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 712, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "7308:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7308:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 718, - "nodeType": "EmitStatement", - "src": "7303:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 719, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "7377:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 605, - "id": 720, - "nodeType": "Return", - "src": "7370:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "827df194", - "id": 722, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 602, - "modifierName": { - "argumentTypes": null, - "id": 601, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "6303:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6303:16:0" - } - ], - "name": "withdrawEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 597, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6232:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6232:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 599, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6251:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6251:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6231:46:0" - }, - "returnParameters": { - "id": 605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 722, - "src": "6337:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6336:24:0" - }, - "scope": 1166, - "src": "6205:1189:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "7544:844:0", - "statements": [ - { - "assignments": [ - 732 - ], - "declarations": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7554:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 731, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7554:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 740, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "7598:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "quoteTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7606:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 734, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "7578:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 733, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "7569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "7569:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7569:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7554:70:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 742, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7642:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7658:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 743, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7650:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7642:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7662:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 741, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7634:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 750, - "nodeType": "ExpressionStatement", - "src": "7634:45:0" - }, - { - "assignments": [ - 752 - ], - "declarations": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7689:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7689:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 758, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 754, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 753, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10475, - "src": "7710:32:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7710:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7689:55:0" - }, - { - "assignments": [ - 760 - ], - "declarations": [ - { - "constant": false, - "id": 760, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "7800:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7800:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 768, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 765, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7849:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 762, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7827:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 761, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7820:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "7820:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7820:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7800:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7902:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7902:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 777, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7922:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7914:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7914:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 779, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7929:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 770, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7877:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 769, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "7870:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "7870:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7870:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 781, - "nodeType": "ExpressionStatement", - "src": "7870:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "7955:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 782, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "7949:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllBase", - "nodeType": "MemberAccess", - "referencedDeclaration": 10449, - "src": "7949:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7949:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 787, - "nodeType": "ExpressionStatement", - "src": "7949:29:0" - }, - { - "assignments": [ - 789 - ], - "declarations": [ - { - "constant": false, - "id": 789, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "8142:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8142:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 799, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8196:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8188:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8188:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 791, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8170:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 790, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "8163:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "8163:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8163:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8142:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 804, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8235:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 801, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8218:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 800, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8212:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "8212:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8212:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 806, - "nodeType": "ExpressionStatement", - "src": "8212:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 812, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8276:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 807, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8256:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8256:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8256:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 814, - "nodeType": "ExpressionStatement", - "src": "8256:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 816, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8337:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8343:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 815, - "name": "ProxyWithdrawEthAsBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "8302:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8302:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 821, - "nodeType": "EmitStatement", - "src": "8297:57:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "8371:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 730, - "id": 823, - "nodeType": "Return", - "src": "8364:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "0ae4b86d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 727, - "modifierName": { - "argumentTypes": null, - "id": 726, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "7482:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7482:16:0" - } - ], - "name": "withdrawAllEthAsBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 724, - "mutability": "mutable", - "name": "quoteTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7430:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7430:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7429:27:0" - }, - "returnParameters": { - "id": 730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "7516:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7516:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:24:0" - }, - "scope": 1166, - "src": "7400:988:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "8528:430:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8546:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8546:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 837, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8559:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8546:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4554485f414d4f554e545f4e4f545f4d41544348", - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8570:22:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - }, - "value": "ETH_AMOUNT_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d5408d254f1034e2da4b0c813291506a8b1ca7462c38bae84bb9341f9e49201b", - "typeString": "literal_string \"ETH_AMOUNT_NOT_MATCH\"" - } - ], - "id": 834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8538:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8538:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 841, - "nodeType": "ExpressionStatement", - "src": "8538:55:0" - }, - { - "assignments": [ - 843 - ], - "declarations": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "8603:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8603:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 851, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 848, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "8647:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 849, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8665:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 845, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "8627:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 844, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "8618:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "8618:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8603:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 853, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8690:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8706:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8698:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8698:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8690:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8710:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 852, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8682:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8682:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 861, - "nodeType": "ExpressionStatement", - "src": "8682:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 863, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8743:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 862, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8737:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "8737:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$", - "typeString": "function () payable external" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 866, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8766:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "8737:39:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$__$returns$__$value", - "typeString": "function () payable external" - } - }, - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8737:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 869, - "nodeType": "ExpressionStatement", - "src": "8737:41:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 874, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 875, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8816:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 871, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "8794:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 870, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8788:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10658, - "src": "8788:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8788:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 877, - "nodeType": "ExpressionStatement", - "src": "8788:38:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 882, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8863:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8863:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 884, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8875:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 879, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8842:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 878, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "8836:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositQuoteTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "8836:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8836:49:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 886, - "nodeType": "ExpressionStatement", - "src": "8836:49:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 888, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8923:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8923:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 890, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "8935:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 891, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8941:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 887, - "name": "ProxyDepositEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8900:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8900:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 893, - "nodeType": "EmitStatement", - "src": "8895:56:0" - } - ] - }, - "documentation": null, - "functionSelector": "ba9344a4", - "id": 895, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 832, - "modifierName": { - "argumentTypes": null, - "id": 831, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "8507:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8507:16:0" - } - ], - "name": "depositEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8421:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8421:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 895, - "src": "8440:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8420:45:0" - }, - "returnParameters": { - "id": 833, - "nodeType": "ParameterList", - "parameters": [], - "src": "8528:0:0" - }, - "scope": 1166, - "src": "8394:564:0", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1021, - "nodeType": "Block", - "src": "9124:1031:0", - "statements": [ - { - "assignments": [ - 907 - ], - "declarations": [ - { - "constant": false, - "id": 907, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9134:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9134:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 915, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 912, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "9178:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9196:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 909, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "9158:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 908, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "9149:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "9149:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9149:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9134:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 917, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9221:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9237:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 918, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9229:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9229:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9221:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9241:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 916, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9213:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9213:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 925, - "nodeType": "ExpressionStatement", - "src": "9213:45:0" - }, - { - "assignments": [ - 927 - ], - "declarations": [ - { - "constant": false, - "id": 927, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9268:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 933, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 929, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9295:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 928, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9289:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "9289:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9289:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9268:56:0" - }, - { - "assignments": [ - 935 - ], - "declarations": [ - { - "constant": false, - "id": 935, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9380:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 943, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 940, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9429:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9429:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 937, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9407:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 936, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9400:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9400:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9380:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9482:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9482:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 952, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9502:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9494:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9494:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 954, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9509:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9457:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 944, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9450:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "9450:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9450:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 956, - "nodeType": "ExpressionStatement", - "src": "9450:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 961, - "name": "ethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9555:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 958, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "9535:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 957, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "9529:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10465, - "src": "9529:25:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) external returns (uint256)" - } - }, - "id": 962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9529:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "nodeType": "ExpressionStatement", - "src": "9529:36:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 964, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9629:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 971, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9678:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9670:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9670:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 966, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9648:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 965, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9641:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9641:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9629:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 975, - "nodeType": "ExpressionStatement", - "src": "9629:55:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 980, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9722:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9722:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 982, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9734:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 977, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 927, - "src": "9701:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 976, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9694:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "9694:27:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9694:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 984, - "nodeType": "ExpressionStatement", - "src": "9694:50:0" - }, - { - "assignments": [ - 986 - ], - "declarations": [ - { - "constant": false, - "id": 986, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1021, - "src": "9908:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 993, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9962:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9954:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9954:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 988, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9936:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 987, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "9929:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "9929:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9929:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1001, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10001:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 998, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "9984:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 997, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "9978:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "9978:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9978:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "9978:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1009, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10042:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1004, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10022:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10022:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10022:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1011, - "nodeType": "ExpressionStatement", - "src": "10022:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1013, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10092:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10092:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1015, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "10104:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10110:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1012, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "10068:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10068:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1018, - "nodeType": "EmitStatement", - "src": "10063:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1019, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "10138:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 905, - "id": 1020, - "nodeType": "Return", - "src": "10131:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "770e96d3", - "id": 1022, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 902, - "modifierName": { - "argumentTypes": null, - "id": 901, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "9062:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9062:16:0" - } - ], - "name": "withdrawEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "mutability": "mutable", - "name": "ethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "8992:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8992:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9011:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9011:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8991:45:0" - }, - "returnParameters": { - "id": 905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 904, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "9096:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9095:24:0" - }, - "scope": 1166, - "src": "8964:1191:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1124, - "nodeType": "Block", - "src": "10305:846:0", - "statements": [ - { - "assignments": [ - 1032 - ], - "declarations": [ - { - "constant": false, - "id": 1032, - "mutability": "mutable", - "name": "DODO", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10315:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10315:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1040, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1037, - "name": "baseTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "10359:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1038, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1034, - "name": "_DODO_ZOO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "10339:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1033, - "name": "IDODOZoo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "10330:8:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOZoo_$24_$", - "typeString": "type(contract IDODOZoo)" - } - }, - "id": 1035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOZoo_$24", - "typeString": "contract IDODOZoo" - } - }, - "id": 1036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDODO", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "10330:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (address,address) view external returns (address)" - } - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10330:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10315:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1042, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10402:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10418:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10410:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10410:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10402:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f4558495354", - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10422:16:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - }, - "value": "DODO_NOT_EXIST" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1202b9edb667d72ea1db71fc4d3e81f26725f87fc79284471896f8edc4841ba9", - "typeString": "literal_string \"DODO_NOT_EXIST\"" - } - ], - "id": 1041, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10394:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10394:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1050, - "nodeType": "ExpressionStatement", - "src": "10394:45:0" - }, - { - "assignments": [ - 1052 - ], - "declarations": [ - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "ethLpToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10449:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10449:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1058, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1054, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10476:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1053, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10470:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10480, - "src": "10470:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10470:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10449:56:0" - }, - { - "assignments": [ - 1060 - ], - "declarations": [ - { - "constant": false, - "id": 1060, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10561:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10561:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1068, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10610:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10610:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1062, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10588:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1061, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10581:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10581:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10581:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10561:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10663:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10663:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1077, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10683:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10675:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10675:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1079, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "10690:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1070, - "name": "ethLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "10638:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1069, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10631:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "10631:31:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:69:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1081, - "nodeType": "ExpressionStatement", - "src": "10631:69:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1083, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "10716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1082, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "10710:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:11:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAllQuote", - "nodeType": "MemberAccess", - "referencedDeclaration": 10470, - "src": "10710:28:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_uint256_$", - "typeString": "function () external returns (uint256)" - } - }, - "id": 1086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10710:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1087, - "nodeType": "ExpressionStatement", - "src": "10710:30:0" - }, - { - "assignments": [ - 1089 - ], - "declarations": [ - { - "constant": false, - "id": 1089, - "mutability": "mutable", - "name": "wethAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1124, - "src": "10904:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10904:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1099, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1096, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10958:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10950:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10950:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1091, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10932:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1090, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "10925:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "10925:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10925:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10904:60:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "10997:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1101, - "name": "_WETH_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "10980:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1100, - "name": "IWETH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "10974:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$10678_$", - "typeString": "type(contract IWETH)" - } - }, - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$10678", - "typeString": "contract IWETH" - } - }, - "id": 1103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 10677, - "src": "10974:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10974:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "10974:34:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1112, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11038:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1107, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11018:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11018:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11018:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1114, - "nodeType": "ExpressionStatement", - "src": "11018:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1116, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11088:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11088:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1118, - "name": "DODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "11100:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1119, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11106:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1115, - "name": "ProxyWithdrawEthAsQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "11064:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 1120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11064:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1121, - "nodeType": "EmitStatement", - "src": "11059:58:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 1122, - "name": "wethAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "11134:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1030, - "id": 1123, - "nodeType": "Return", - "src": "11127:17:0" - } - ] - }, - "documentation": null, - "functionSelector": "3cff9b56", - "id": 1125, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1027, - "modifierName": { - "argumentTypes": null, - "id": 1026, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "10243:16:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10243:16:0" - } - ], - "name": "withdrawAllEthAsQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1024, - "mutability": "mutable", - "name": "baseTokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10192:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10192:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10191:26:0" - }, - "returnParameters": { - "id": 1030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1029, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1125, - "src": "10277:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10276:24:0" - }, - "scope": 1166, - "src": "10161:990:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1146, - "nodeType": "Block", - "src": "11320:83:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1138, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1129, - "src": "11368:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1141, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11382:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DODOEthProxy_$1166", - "typeString": "contract DODOEthProxy" - } - ], - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11374:7:0", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11374:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1143, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1131, - "src": "11389:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1135, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "11337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1134, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11330:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "11330:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11330:66:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "11330:66:0" - } - ] - }, - "documentation": null, - "id": 1147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1127, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11238:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11238:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1129, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11268:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11268:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1147, - "src": "11290:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11290:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11228:82:0" - }, - "returnParameters": { - "id": 1133, - "nodeType": "ParameterList", - "parameters": [], - "src": "11320:0:0" - }, - "scope": 1166, - "src": "11208:195:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1164, - "nodeType": "Block", - "src": "11520:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1151, - "src": "11564:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1161, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "11568:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1157, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "11537:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1156, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "11530:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 1158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "11530:33:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11530:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "ExpressionStatement", - "src": "11530:45:0" - } - ] - }, - "documentation": null, - "id": 1165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11440:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11440:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11470:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11470:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1165, - "src": "11490:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11490:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11430:80:0" - }, - "returnParameters": { - "id": 1155, - "nodeType": "ParameterList", - "parameters": [], - "src": "11520:0:0" - }, - "scope": 1166, - "src": "11409:173:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1167, - "src": "636:10948:0" - } - ], - "src": "78:11507:0" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.463Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IERC20.json b/build-v1/contracts/IERC20.json deleted file mode 100644 index 2f1afaf..0000000 --- a/build-v1/contracts/IERC20.json +++ /dev/null @@ -1,1889 +0,0 @@ -{ - "contractName": "IERC20", - "abi": [ - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "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": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "// This is a file copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol\n// SPDX-License-Identifier: MIT\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n function decimals() external view returns (uint8);\n\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address sender,\n address recipient,\n uint256 amount\n ) external returns (bool);\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 10607 - ] - }, - "id": 10608, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10538, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "163:22:32" - }, - { - "id": 10539, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "186:33:32" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 10540, - "nodeType": "StructuredDocumentation", - "src": "221:70:32", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 10607, - "linearizedBaseContracts": [ - 10607 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": { - "id": 10541, - "nodeType": "StructuredDocumentation", - "src": "315:66:32", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 10546, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10542, - "nodeType": "ParameterList", - "parameters": [], - "src": "406:2:32" - }, - "returnParameters": { - "id": 10545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10544, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10546, - "src": "432:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "432:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "431:9:32" - }, - "scope": 10607, - "src": "386:55:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 10551, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10547, - "nodeType": "ParameterList", - "parameters": [], - "src": "464:2:32" - }, - "returnParameters": { - "id": 10550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10549, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10551, - "src": "490:5:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 10548, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "490:5:32", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:7:32" - }, - "scope": 10607, - "src": "447:50:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 10556, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10552, - "nodeType": "ParameterList", - "parameters": [], - "src": "516:2:32" - }, - "returnParameters": { - "id": 10555, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10554, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10556, - "src": "542:13:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10553, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "542:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "541:15:32" - }, - "scope": 10607, - "src": "503:54:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10557, - "nodeType": "StructuredDocumentation", - "src": "563:72:32", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 10564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10559, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "659:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10558, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "659:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "658:17:32" - }, - "returnParameters": { - "id": 10563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "699:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "699:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "698:9:32" - }, - "scope": 10607, - "src": "640:68:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10565, - "nodeType": "StructuredDocumentation", - "src": "714:209:32", - "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "a9059cbb", - "id": 10574, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10567, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10574, - "src": "946:17:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10566, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "946:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10569, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10574, - "src": "965:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "965:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "945:35:32" - }, - "returnParameters": { - "id": 10573, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10572, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10574, - "src": "999:4:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10571, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "999:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "998:6:32" - }, - "scope": 10607, - "src": "928:77:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10575, - "nodeType": "StructuredDocumentation", - "src": "1011:264:32", - "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." - }, - "functionSelector": "dd62ed3e", - "id": 10584, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10577, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10584, - "src": "1299:13:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1299:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10579, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10584, - "src": "1314:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1314:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1298:32:32" - }, - "returnParameters": { - "id": 10583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10582, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10584, - "src": "1354:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1354:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:9:32" - }, - "scope": 10607, - "src": "1280:83:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10585, - "nodeType": "StructuredDocumentation", - "src": "1369:642:32", - "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." - }, - "functionSelector": "095ea7b3", - "id": 10594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10587, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10594, - "src": "2033:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2033:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10589, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10594, - "src": "2050:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2050:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2032:33:32" - }, - "returnParameters": { - "id": 10593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10592, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10594, - "src": "2084:4:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10591, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2084:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2083:6:32" - }, - "scope": 10607, - "src": "2016:74:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10595, - "nodeType": "StructuredDocumentation", - "src": "2096:296:32", - "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "23b872dd", - "id": 10606, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10597, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2428:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10596, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2428:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10599, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2452:17:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2452:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10601, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2479:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2479:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2418:81:32" - }, - "returnParameters": { - "id": 10605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10604, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2518:4:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10603, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2518:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2517:6:32" - }, - "scope": 10607, - "src": "2397:127:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10608, - "src": "292:2234:32" - } - ], - "src": "163:2364:32" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 10607 - ] - }, - "id": 10608, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10538, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "163:22:32" - }, - { - "id": 10539, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "186:33:32" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 10540, - "nodeType": "StructuredDocumentation", - "src": "221:70:32", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 10607, - "linearizedBaseContracts": [ - 10607 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": { - "id": 10541, - "nodeType": "StructuredDocumentation", - "src": "315:66:32", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 10546, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10542, - "nodeType": "ParameterList", - "parameters": [], - "src": "406:2:32" - }, - "returnParameters": { - "id": 10545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10544, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10546, - "src": "432:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "432:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "431:9:32" - }, - "scope": 10607, - "src": "386:55:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 10551, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10547, - "nodeType": "ParameterList", - "parameters": [], - "src": "464:2:32" - }, - "returnParameters": { - "id": 10550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10549, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10551, - "src": "490:5:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 10548, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "490:5:32", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:7:32" - }, - "scope": 10607, - "src": "447:50:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 10556, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10552, - "nodeType": "ParameterList", - "parameters": [], - "src": "516:2:32" - }, - "returnParameters": { - "id": 10555, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10554, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10556, - "src": "542:13:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10553, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "542:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "541:15:32" - }, - "scope": 10607, - "src": "503:54:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10557, - "nodeType": "StructuredDocumentation", - "src": "563:72:32", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 10564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10559, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "659:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10558, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "659:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "658:17:32" - }, - "returnParameters": { - "id": 10563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "699:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "699:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "698:9:32" - }, - "scope": 10607, - "src": "640:68:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10565, - "nodeType": "StructuredDocumentation", - "src": "714:209:32", - "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "a9059cbb", - "id": 10574, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10567, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10574, - "src": "946:17:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10566, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "946:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10569, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10574, - "src": "965:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "965:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "945:35:32" - }, - "returnParameters": { - "id": 10573, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10572, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10574, - "src": "999:4:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10571, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "999:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "998:6:32" - }, - "scope": 10607, - "src": "928:77:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10575, - "nodeType": "StructuredDocumentation", - "src": "1011:264:32", - "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." - }, - "functionSelector": "dd62ed3e", - "id": 10584, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10577, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10584, - "src": "1299:13:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1299:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10579, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10584, - "src": "1314:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1314:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1298:32:32" - }, - "returnParameters": { - "id": 10583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10582, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10584, - "src": "1354:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1354:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:9:32" - }, - "scope": 10607, - "src": "1280:83:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10585, - "nodeType": "StructuredDocumentation", - "src": "1369:642:32", - "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." - }, - "functionSelector": "095ea7b3", - "id": 10594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10587, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10594, - "src": "2033:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2033:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10589, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10594, - "src": "2050:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2050:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2032:33:32" - }, - "returnParameters": { - "id": 10593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10592, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10594, - "src": "2084:4:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10591, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2084:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2083:6:32" - }, - "scope": 10607, - "src": "2016:74:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": { - "id": 10595, - "nodeType": "StructuredDocumentation", - "src": "2096:296:32", - "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "23b872dd", - "id": 10606, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10597, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2428:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10596, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2428:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10599, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2452:17:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2452:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10601, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2479:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2479:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2418:81:32" - }, - "returnParameters": { - "id": 10605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10604, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10606, - "src": "2518:4:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10603, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2518:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2517:6:32" - }, - "scope": 10607, - "src": "2397:127:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10608, - "src": "292:2234:32" - } - ], - "src": "163:2364:32" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.551Z", - "devdoc": { - "details": "Interface of the ERC20 standard as defined in the EIP.", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IMinimumOracle.json b/build-v1/contracts/IMinimumOracle.json deleted file mode 100644 index 2af3af3..0000000 --- a/build-v1/contracts/IMinimumOracle.json +++ /dev/null @@ -1,2743 +0,0 @@ -{ - "contractName": "IMinimumOracle", - "abi": [ - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol\":\"IMinimumOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol\":{\"keccak256\":\"0x66ac490e135af4b70e2d0df8b0872480c964221e225ece8301e06f334d040a9c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://adc9b73a0b2586f440355ed94761cdd0c891a1fa0effcd267dd1f4fbedb6bb75\",\"dweb:/ipfs/QmSaYizENPPjsWDGeDLj1ntRW9zomfVwbfJUgRBCY9yQky\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IMinimumOracle {\n function getPrice() external view returns (uint256);\n\n function setPrice(uint256 newPrice) external;\n\n function transferOwnership(address newOwner) external;\n}\n\n\ncontract MinimumOracle {\n address public _OWNER_;\n uint256 public tokenPrice;\n\n // ============ Events ============\n\n event OwnershipTransfer(address indexed previousOwner, address indexed newOwner);\n\n // ============ Modifiers ============\n\n modifier onlyOwner() {\n require(msg.sender == _OWNER_, \"NOT_OWNER\");\n _;\n }\n\n // ============ Functions ============\n\n constructor() public {\n _OWNER_ = msg.sender;\n emit OwnershipTransfer(address(0), _OWNER_);\n }\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"INVALID_OWNER\");\n emit OwnershipTransfer(_OWNER_, newOwner);\n _OWNER_ = newOwner;\n }\n\n function setPrice(uint256 newPrice) external onlyOwner {\n tokenPrice = newPrice;\n }\n\n function getPrice() external view returns (uint256) {\n return tokenPrice;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol", - "exportedSymbols": { - "IMinimumOracle": [ - 2110 - ], - "MinimumOracle": [ - 2197 - ] - }, - "id": 2198, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2093, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:15" - }, - { - "id": 2094, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2110, - "linearizedBaseContracts": [ - 2110 - ], - "name": "IMinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2099, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2095, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:15" - }, - "returnParameters": { - "id": 2098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2097, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2099, - "src": "211:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:15" - }, - "scope": 2110, - "src": "168:52:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2104, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2101, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2104, - "src": "244:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:18:15" - }, - "returnParameters": { - "id": 2103, - "nodeType": "ParameterList", - "parameters": [], - "src": "270:0:15" - }, - "scope": 2110, - "src": "226:45:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2109, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2106, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2109, - "src": "304:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "303:18:15" - }, - "returnParameters": { - "id": 2108, - "nodeType": "ParameterList", - "parameters": [], - "src": "330:0:15" - }, - "scope": 2110, - "src": "277:54:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "137:196:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2197, - "linearizedBaseContracts": [ - 2197 - ], - "name": "MinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 2112, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "365:22:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "365:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 2114, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "393:25:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "393:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2120, - "name": "OwnershipTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2116, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "490:29:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2118, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "521:24:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:57:15" - }, - "src": "466:81:15" - }, - { - "body": { - "id": 2131, - "nodeType": "Block", - "src": "618:71:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "636:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "636:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2125, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "650:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "636:21:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 2127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "659:11:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 2122, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "628:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "628:43:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2129, - "nodeType": "ExpressionStatement", - "src": "628:43:15" - }, - { - "id": 2130, - "nodeType": "PlaceholderStatement", - "src": "681:1:15" - } - ] - }, - "documentation": null, - "id": 2132, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2121, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:2:15" - }, - "src": "597:92:15", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2148, - "nodeType": "Block", - "src": "760:90:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2135, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "770:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2136, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "780:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "780:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "770:20:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "770:20:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "831:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "823:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2145, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "835:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2140, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "805:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "805:38:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2147, - "nodeType": "EmitStatement", - "src": "800:43:15" - } - ] - }, - "documentation": null, - "id": 2149, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2133, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:15" - }, - "returnParameters": { - "id": 2134, - "nodeType": "ParameterList", - "parameters": [], - "src": "760:0:15" - }, - "scope": 2197, - "src": "739:111:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2175, - "nodeType": "Block", - "src": "920:144:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2157, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "938:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "958:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "950:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "938:22:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "962:15:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 2156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "930:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "930:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2165, - "nodeType": "ExpressionStatement", - "src": "930:48:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2167, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1011:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2168, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1020:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2166, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "993:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "993:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2170, - "nodeType": "EmitStatement", - "src": "988:41:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2171, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1039:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2172, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1049:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1039:18:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2174, - "nodeType": "ExpressionStatement", - "src": "1039:18:15" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2176, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2154, - "modifierName": { - "argumentTypes": null, - "id": 2153, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "910:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "910:9:15" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2151, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "883:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "883:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "882:18:15" - }, - "returnParameters": { - "id": 2155, - "nodeType": "ParameterList", - "parameters": [], - "src": "920:0:15" - }, - "scope": 2197, - "src": "856:208:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "1125:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2183, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1135:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2184, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "1148:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1135:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2186, - "nodeType": "ExpressionStatement", - "src": "1135:21:15" - } - ] - }, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2188, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2181, - "modifierName": { - "argumentTypes": null, - "id": 2180, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1115:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1115:9:15" - } - ], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2188, - "src": "1088:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1088:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1087:18:15" - }, - "returnParameters": { - "id": 2182, - "nodeType": "ParameterList", - "parameters": [], - "src": "1125:0:15" - }, - "scope": 2197, - "src": "1070:93:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "1221:34:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1238:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2192, - "id": 2194, - "nodeType": "Return", - "src": "1231:17:15" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2189, - "nodeType": "ParameterList", - "parameters": [], - "src": "1186:2:15" - }, - "returnParameters": { - "id": 2192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2196, - "src": "1212:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1211:9:15" - }, - "scope": 2197, - "src": "1169:86:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "336:921:15" - } - ], - "src": "78:1180:15" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol", - "exportedSymbols": { - "IMinimumOracle": [ - 2110 - ], - "MinimumOracle": [ - 2197 - ] - }, - "id": 2198, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2093, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:15" - }, - { - "id": 2094, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2110, - "linearizedBaseContracts": [ - 2110 - ], - "name": "IMinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2099, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2095, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:15" - }, - "returnParameters": { - "id": 2098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2097, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2099, - "src": "211:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:15" - }, - "scope": 2110, - "src": "168:52:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2104, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2101, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2104, - "src": "244:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:18:15" - }, - "returnParameters": { - "id": 2103, - "nodeType": "ParameterList", - "parameters": [], - "src": "270:0:15" - }, - "scope": 2110, - "src": "226:45:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2109, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2106, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2109, - "src": "304:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "303:18:15" - }, - "returnParameters": { - "id": 2108, - "nodeType": "ParameterList", - "parameters": [], - "src": "330:0:15" - }, - "scope": 2110, - "src": "277:54:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "137:196:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2197, - "linearizedBaseContracts": [ - 2197 - ], - "name": "MinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 2112, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "365:22:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "365:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 2114, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "393:25:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "393:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2120, - "name": "OwnershipTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2116, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "490:29:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2118, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "521:24:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:57:15" - }, - "src": "466:81:15" - }, - { - "body": { - "id": 2131, - "nodeType": "Block", - "src": "618:71:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "636:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "636:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2125, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "650:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "636:21:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 2127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "659:11:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 2122, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "628:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "628:43:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2129, - "nodeType": "ExpressionStatement", - "src": "628:43:15" - }, - { - "id": 2130, - "nodeType": "PlaceholderStatement", - "src": "681:1:15" - } - ] - }, - "documentation": null, - "id": 2132, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2121, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:2:15" - }, - "src": "597:92:15", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2148, - "nodeType": "Block", - "src": "760:90:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2135, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "770:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2136, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "780:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "780:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "770:20:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "770:20:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "831:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "823:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2145, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "835:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2140, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "805:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "805:38:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2147, - "nodeType": "EmitStatement", - "src": "800:43:15" - } - ] - }, - "documentation": null, - "id": 2149, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2133, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:15" - }, - "returnParameters": { - "id": 2134, - "nodeType": "ParameterList", - "parameters": [], - "src": "760:0:15" - }, - "scope": 2197, - "src": "739:111:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2175, - "nodeType": "Block", - "src": "920:144:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2157, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "938:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "958:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "950:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "938:22:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "962:15:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 2156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "930:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "930:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2165, - "nodeType": "ExpressionStatement", - "src": "930:48:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2167, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1011:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2168, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1020:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2166, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "993:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "993:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2170, - "nodeType": "EmitStatement", - "src": "988:41:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2171, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1039:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2172, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1049:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1039:18:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2174, - "nodeType": "ExpressionStatement", - "src": "1039:18:15" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2176, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2154, - "modifierName": { - "argumentTypes": null, - "id": 2153, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "910:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "910:9:15" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2151, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "883:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "883:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "882:18:15" - }, - "returnParameters": { - "id": 2155, - "nodeType": "ParameterList", - "parameters": [], - "src": "920:0:15" - }, - "scope": 2197, - "src": "856:208:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "1125:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2183, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1135:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2184, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "1148:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1135:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2186, - "nodeType": "ExpressionStatement", - "src": "1135:21:15" - } - ] - }, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2188, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2181, - "modifierName": { - "argumentTypes": null, - "id": 2180, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1115:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1115:9:15" - } - ], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2188, - "src": "1088:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1088:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1087:18:15" - }, - "returnParameters": { - "id": 2182, - "nodeType": "ParameterList", - "parameters": [], - "src": "1125:0:15" - }, - "scope": 2197, - "src": "1070:93:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "1221:34:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1238:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2192, - "id": 2194, - "nodeType": "Return", - "src": "1231:17:15" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2189, - "nodeType": "ParameterList", - "parameters": [], - "src": "1186:2:15" - }, - "returnParameters": { - "id": 2192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2196, - "src": "1212:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1211:9:15" - }, - "scope": 2197, - "src": "1169:86:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "336:921:15" - } - ], - "src": "78:1180:15" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.510Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IOracle.json b/build-v1/contracts/IOracle.json deleted file mode 100644 index 68c9f9c..0000000 --- a/build-v1/contracts/IOracle.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "contractName": "IOracle", - "abi": [ - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":\"IOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IOracle {\n function getPrice() external view returns (uint256);\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol", - "exportedSymbols": { - "IOracle": [ - 10616 - ] - }, - "id": 10617, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10609, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:33" - }, - { - "id": 10610, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:33" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10616, - "linearizedBaseContracts": [ - 10616 - ], - "name": "IOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 10615, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10611, - "nodeType": "ParameterList", - "parameters": [], - "src": "178:2:33" - }, - "returnParameters": { - "id": 10614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10613, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10615, - "src": "204:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "204:7:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "203:9:33" - }, - "scope": 10616, - "src": "161:52:33", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10617, - "src": "137:78:33" - } - ], - "src": "78:138:33" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol", - "exportedSymbols": { - "IOracle": [ - 10616 - ] - }, - "id": 10617, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10609, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:33" - }, - { - "id": 10610, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:33" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10616, - "linearizedBaseContracts": [ - 10616 - ], - "name": "IOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 10615, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10611, - "nodeType": "ParameterList", - "parameters": [], - "src": "178:2:33" - }, - "returnParameters": { - "id": 10614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10613, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10615, - "src": "204:7:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "204:7:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "203:9:33" - }, - "scope": 10616, - "src": "161:52:33", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10617, - "src": "137:78:33" - } - ], - "src": "78:138:33" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.714Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IUniswapV2Callee.json b/build-v1/contracts/IUniswapV2Callee.json deleted file mode 100644 index ef98c62..0000000 --- a/build-v1/contracts/IUniswapV2Callee.json +++ /dev/null @@ -1,59170 +0,0 @@ -{ - "contractName": "IUniswapV2Callee", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "uniswapV2Call", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"uniswapV2Call\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"IUniswapV2Callee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.551Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IUniswapV2ERC20.json b/build-v1/contracts/IUniswapV2ERC20.json deleted file mode 100644 index 7e7e151..0000000 --- a/build-v1/contracts/IUniswapV2ERC20.json +++ /dev/null @@ -1,59452 +0,0 @@ -{ - "contractName": "IUniswapV2ERC20", - "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": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "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": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "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": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "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" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"IUniswapV2ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.573Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IUniswapV2Factory.json b/build-v1/contracts/IUniswapV2Factory.json deleted file mode 100644 index 748bea1..0000000 --- a/build-v1/contracts/IUniswapV2Factory.json +++ /dev/null @@ -1,59305 +0,0 @@ -{ - "contractName": "IUniswapV2Factory", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "pair", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "PairCreated", - "type": "event" - }, - { - "inputs": [], - "name": "feeTo", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeToSetter", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenA", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenB", - "type": "address" - } - ], - "name": "getPair", - "outputs": [ - { - "internalType": "address", - "name": "pair", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "allPairs", - "outputs": [ - { - "internalType": "address", - "name": "pair", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "allPairsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenA", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenB", - "type": "address" - } - ], - "name": "createPair", - "outputs": [ - { - "internalType": "address", - "name": "pair", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "setFeeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "setFeeToSetter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"PairCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allPairs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allPairsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"createPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToSetter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"getPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setFeeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setFeeToSetter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"IUniswapV2Factory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.590Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IUniswapV2Pair.json b/build-v1/contracts/IUniswapV2Pair.json deleted file mode 100644 index b073099..0000000 --- a/build-v1/contracts/IUniswapV2Pair.json +++ /dev/null @@ -1,59793 +0,0 @@ -{ - "contractName": "IUniswapV2Pair", - "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": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0In", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1In", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0Out", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1Out", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "Swap", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint112", - "name": "reserve0", - "type": "uint112" - }, - { - "indexed": false, - "internalType": "uint112", - "name": "reserve1", - "type": "uint112" - } - ], - "name": "Sync", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "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": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "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": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "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": [], - "name": "MINIMUM_LIQUIDITY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getReserves", - "outputs": [ - { - "internalType": "uint112", - "name": "reserve0", - "type": "uint112" - }, - { - "internalType": "uint112", - "name": "reserve1", - "type": "uint112" - }, - { - "internalType": "uint32", - "name": "blockTimestampLast", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "price0CumulativeLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "price1CumulativeLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "kLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "liquidity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount0Out", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Out", - "type": "uint256" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "swap", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "skim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sync", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"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\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"blockTimestampLast\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"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\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"IUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.528Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/IWETH.json b/build-v1/contracts/IWETH.json deleted file mode 100644 index e2b8ea6..0000000 --- a/build-v1/contracts/IWETH.json +++ /dev/null @@ -1,1735 +0,0 @@ -{ - "contractName": "IWETH", - "abi": [ - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "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": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol\":\"IWETH\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol\":{\"keccak256\":\"0x477940fe56d5823b603218a07d843eb013524a5b44e2784bf38b8374c22dd4ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c9111ef0a330bb0353c5232742867bb18259dd19edd6fb58c83046c007f4dae4\",\"dweb:/ipfs/QmWE34g93fLw5sjMfNxRKP4NU6gdjmyd4A2HNVH9DrkdKp\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IWETH {\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address account) external view returns (uint256);\n\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 amount) external returns (bool);\n\n function transferFrom(\n address src,\n address dst,\n uint256 wad\n ) external returns (bool);\n\n function deposit() external payable;\n\n function withdraw(uint256 wad) external;\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "exportedSymbols": { - "IWETH": [ - 10678 - ] - }, - "id": 10679, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10618, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:34" - }, - { - "id": 10619, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:34" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10678, - "linearizedBaseContracts": [ - 10678 - ], - "name": "IWETH", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 10624, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10620, - "nodeType": "ParameterList", - "parameters": [], - "src": "179:2:34" - }, - "returnParameters": { - "id": 10623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10622, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10624, - "src": "205:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "205:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "204:9:34" - }, - "scope": 10678, - "src": "159:55:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 10631, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10626, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10631, - "src": "239:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10625, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:17:34" - }, - "returnParameters": { - "id": 10630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10629, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10631, - "src": "279:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "279:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "278:9:34" - }, - "scope": 10678, - "src": "220:68:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 10640, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10633, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10640, - "src": "312:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "312:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10635, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10640, - "src": "331:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "331:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "311:35:34" - }, - "returnParameters": { - "id": 10639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10638, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10640, - "src": "365:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10637, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "365:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "364:6:34" - }, - "scope": 10678, - "src": "294:77:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 10649, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10642, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10649, - "src": "396:13:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "396:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10644, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10649, - "src": "411:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10643, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "411:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:32:34" - }, - "returnParameters": { - "id": 10648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10647, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10649, - "src": "451:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "451:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:9:34" - }, - "scope": 10678, - "src": "377:83:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 10658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10651, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10658, - "src": "483:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "483:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10653, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10658, - "src": "500:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "500:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:33:34" - }, - "returnParameters": { - "id": 10657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10658, - "src": "534:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10655, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "534:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "533:6:34" - }, - "scope": 10678, - "src": "466:74:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 10669, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10665, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10660, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "577:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "577:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10662, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "598:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "598:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10664, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "619:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "619:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "567:69:34" - }, - "returnParameters": { - "id": 10668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10667, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "655:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10666, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "655:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "654:6:34" - }, - "scope": 10678, - "src": "546:115:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d0e30db0", - "id": 10672, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10670, - "nodeType": "ParameterList", - "parameters": [], - "src": "683:2:34" - }, - "returnParameters": { - "id": 10671, - "nodeType": "ParameterList", - "parameters": [], - "src": "702:0:34" - }, - "scope": 10678, - "src": "667:36:34", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "2e1a7d4d", - "id": 10677, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10674, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10677, - "src": "727:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "726:13:34" - }, - "returnParameters": { - "id": 10676, - "nodeType": "ParameterList", - "parameters": [], - "src": "748:0:34" - }, - "scope": 10678, - "src": "709:40:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10679, - "src": "137:614:34" - } - ], - "src": "78:674:34" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IWETH.sol", - "exportedSymbols": { - "IWETH": [ - 10678 - ] - }, - "id": 10679, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10618, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:34" - }, - { - "id": 10619, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:34" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 10678, - "linearizedBaseContracts": [ - 10678 - ], - "name": "IWETH", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 10624, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10620, - "nodeType": "ParameterList", - "parameters": [], - "src": "179:2:34" - }, - "returnParameters": { - "id": 10623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10622, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10624, - "src": "205:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "205:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "204:9:34" - }, - "scope": 10678, - "src": "159:55:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 10631, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10626, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10631, - "src": "239:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10625, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:17:34" - }, - "returnParameters": { - "id": 10630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10629, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10631, - "src": "279:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "279:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "278:9:34" - }, - "scope": 10678, - "src": "220:68:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 10640, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10633, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10640, - "src": "312:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "312:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10635, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10640, - "src": "331:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "331:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "311:35:34" - }, - "returnParameters": { - "id": 10639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10638, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10640, - "src": "365:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10637, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "365:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "364:6:34" - }, - "scope": 10678, - "src": "294:77:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 10649, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10642, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10649, - "src": "396:13:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "396:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10644, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10649, - "src": "411:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10643, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "411:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:32:34" - }, - "returnParameters": { - "id": 10648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10647, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10649, - "src": "451:7:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "451:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:9:34" - }, - "scope": 10678, - "src": "377:83:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 10658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10651, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10658, - "src": "483:15:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "483:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10653, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10658, - "src": "500:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "500:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "482:33:34" - }, - "returnParameters": { - "id": 10657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10658, - "src": "534:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10655, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "534:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "533:6:34" - }, - "scope": 10678, - "src": "466:74:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 10669, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10665, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10660, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "577:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "577:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10662, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "598:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "598:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10664, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "619:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "619:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "567:69:34" - }, - "returnParameters": { - "id": 10668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10667, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10669, - "src": "655:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10666, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "655:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "654:6:34" - }, - "scope": 10678, - "src": "546:115:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d0e30db0", - "id": 10672, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10670, - "nodeType": "ParameterList", - "parameters": [], - "src": "683:2:34" - }, - "returnParameters": { - "id": 10671, - "nodeType": "ParameterList", - "parameters": [], - "src": "702:0:34" - }, - "scope": 10678, - "src": "667:36:34", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "2e1a7d4d", - "id": 10677, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10674, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10677, - "src": "727:11:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "726:13:34" - }, - "returnParameters": { - "id": 10676, - "nodeType": "ParameterList", - "parameters": [], - "src": "748:0:34" - }, - "scope": 10678, - "src": "709:40:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10679, - "src": "137:614:34" - } - ], - "src": "78:674:34" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.715Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/InitializableOwnable.json b/build-v1/contracts/InitializableOwnable.json deleted file mode 100644 index 251096d..0000000 --- a/build-v1/contracts/InitializableOwnable.json +++ /dev/null @@ -1,2453 +0,0 @@ -{ - "contractName": "InitializableOwnable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_NEW_OWNER_", - "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": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{},\"notice\":\"Ownership related functions\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":\"InitializableOwnable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506102dd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806316048bc4146100515780634e71e0c81461006f5780638456db1514610079578063f2fde38b14610081575b600080fd5b610059610094565b6040516100669190610222565b60405180910390f35b6100776100a3565b005b61005961013a565b61007761008f3660046101f4565b610149565b6000546001600160a01b031681565b6001546001600160a01b031633146100d65760405162461bcd60e51b81526004016100cd90610236565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146101735760405162461bcd60e51b81526004016100cd90610284565b6001600160a01b0381166101995760405162461bcd60e51b81526004016100cd9061025d565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610205578081fd5b81356001600160a01b038116811461021b578182fd5b9392505050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b60408201526060019056fea26469706673582212208d20209ac182c3ef10b045c8d7466fe6ad34fd6712457f5b3fe9d64acdfe2ef464736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806316048bc4146100515780634e71e0c81461006f5780638456db1514610079578063f2fde38b14610081575b600080fd5b610059610094565b6040516100669190610222565b60405180910390f35b6100776100a3565b005b61005961013a565b61007761008f3660046101f4565b610149565b6000546001600160a01b031681565b6001546001600160a01b031633146100d65760405162461bcd60e51b81526004016100cd90610236565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146101735760405162461bcd60e51b81526004016100cd90610284565b6001600160a01b0381166101995760405162461bcd60e51b81526004016100cd9061025d565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610205578081fd5b81356001600160a01b038116811461021b578182fd5b9392505050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b60408201526060019056fea26469706673582212208d20209ac182c3ef10b045c8d7466fe6ad34fd6712457f5b3fe9d64acdfe2ef464736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "228:962:37:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "228:962:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:22;;;:::i;:::-;;;;;;;;;;;;;;;;963:225;;;:::i;:::-;;292:26;;;:::i;737:220::-;;;;;;;;;:::i;264:22::-;;;-1:-1:-1;;;;;264:22:37;;:::o;963:225::-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;292:26::-;;;-1:-1:-1;;;;;292:26:37;;:::o;737:220::-;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;142:241:-1:-;;246:2;234:9;225:7;221:23;217:32;214:2;;;-1:-1;;252:12;214:2;72:20;;-1:-1;;;;;3301:54;;3426:35;;3416:2;;-1:-1;;3465:12;3416:2;304:63;208:175;-1:-1;;;208:175;1471:222;-1:-1;;;;;3301:54;;;;461:37;;1598:2;1583:18;;1569:124;1700:416;1900:2;1914:47;;;735:2;1885:18;;;3073:19;-1:-1;;;3113:14;;;751:36;806:12;;;1871:245;2123:416;2323:2;2337:47;;;1057:2;2308:18;;;3073:19;-1:-1;;;3113:14;;;1073:36;1128:12;;;2294:245;2546:416;2746:2;2760:47;;;1379:1;2731:18;;;3073:19;-1:-1;;;3113:14;;;1394:32;1445:12;;;2717:245", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n/**\n * @title Ownable\n * @author DODO Breeder\n *\n * @notice Ownership related functions\n */\ncontract InitializableOwnable {\n address public _OWNER_;\n address public _NEW_OWNER_;\n\n // ============ Events ============\n\n event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n // ============ Modifiers ============\n\n modifier onlyOwner() {\n require(msg.sender == _OWNER_, \"NOT_OWNER\");\n _;\n }\n\n // ============ Functions ============\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"INVALID_OWNER\");\n emit OwnershipTransferPrepared(_OWNER_, newOwner);\n _NEW_OWNER_ = newOwner;\n }\n\n function claimOwnership() external {\n require(msg.sender == _NEW_OWNER_, \"INVALID_CLAIM\");\n emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);\n _OWNER_ = _NEW_OWNER_;\n _NEW_OWNER_ = address(0);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", - "exportedSymbols": { - "InitializableOwnable": [ - 11166 - ] - }, - "id": 11167, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11080, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:37" - }, - { - "id": 11081, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:37" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 11082, - "nodeType": "StructuredDocumentation", - "src": "136:91:37", - "text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions" - }, - "fullyImplemented": true, - "id": 11166, - "linearizedBaseContracts": [ - 11166 - ], - "name": "InitializableOwnable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 11084, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11166, - "src": "264:22:37", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11083, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "264:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8456db15", - "id": 11086, - "mutability": "mutable", - "name": "_NEW_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11166, - "src": "292:26:37", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 11092, - "name": "OwnershipTransferPrepared", - "nodeType": "EventDefinition", - "parameters": { - "id": 11091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11088, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11092, - "src": "398:29:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "398:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11090, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11092, - "src": "429:24:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "429:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "397:57:37" - }, - "src": "366:89:37" - }, - { - "anonymous": false, - "documentation": null, - "id": 11098, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 11097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11094, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11098, - "src": "488:29:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "488:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11096, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11098, - "src": "519:24:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "519:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "487:57:37" - }, - "src": "461:84:37" - }, - { - "body": { - "id": 11109, - "nodeType": "Block", - "src": "616:71:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11101, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "634:3:37", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "634:10:37", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11103, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "648:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "634:21:37", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 11105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "657:11:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 11100, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "626:7:37", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "626:43:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11107, - "nodeType": "ExpressionStatement", - "src": "626:43:37" - }, - { - "id": 11108, - "nodeType": "PlaceholderStatement", - "src": "679:1:37" - } - ] - }, - "documentation": null, - "id": 11110, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11099, - "nodeType": "ParameterList", - "parameters": [], - "src": "613:2:37" - }, - "src": "595:92:37", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11136, - "nodeType": "Block", - "src": "801:156:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11118, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11112, - "src": "819:8:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "839:1:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "831:7:37", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:37", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "831:10:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "819:22:37", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 11124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "843:15:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 11117, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "811:7:37", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "811:48:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11126, - "nodeType": "ExpressionStatement", - "src": "811:48:37" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11128, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "900:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11129, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11112, - "src": "909:8:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11127, - "name": "OwnershipTransferPrepared", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11092, - "src": "874:25:37", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "874:44:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11131, - "nodeType": "EmitStatement", - "src": "869:49:37" - }, - { - "expression": { - "argumentTypes": null, - "id": 11134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11132, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "928:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11133, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11112, - "src": "942:8:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "928:22:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11135, - "nodeType": "ExpressionStatement", - "src": "928:22:37" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 11137, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11115, - "modifierName": { - "argumentTypes": null, - "id": 11114, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "791:9:37", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "791:9:37" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11112, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11137, - "src": "764:16:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "764:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "763:18:37" - }, - "returnParameters": { - "id": 11116, - "nodeType": "ParameterList", - "parameters": [], - "src": "801:0:37" - }, - "scope": 11166, - "src": "737:220:37", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 11164, - "nodeType": "Block", - "src": "998:190:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11141, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1016:3:37", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1016:10:37", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11143, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1030:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1016:25:37", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f434c41494d", - "id": 11145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1043:15:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - }, - "value": "INVALID_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - } - ], - "id": 11140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1008:7:37", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1008:51:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11147, - "nodeType": "ExpressionStatement", - "src": "1008:51:37" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11149, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1095:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11150, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1104:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11148, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11098, - "src": "1074:20:37", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1074:42:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11152, - "nodeType": "EmitStatement", - "src": "1069:47:37" - }, - { - "expression": { - "argumentTypes": null, - "id": 11155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11153, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1126:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11154, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1136:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1126:21:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11156, - "nodeType": "ExpressionStatement", - "src": "1126:21:37" - }, - { - "expression": { - "argumentTypes": null, - "id": 11162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11157, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1157:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1179:1:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1171:7:37", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1171:7:37", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1171:10:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1157:24:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11163, - "nodeType": "ExpressionStatement", - "src": "1157:24:37" - } - ] - }, - "documentation": null, - "functionSelector": "4e71e0c8", - "id": 11165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11138, - "nodeType": "ParameterList", - "parameters": [], - "src": "986:2:37" - }, - "returnParameters": { - "id": 11139, - "nodeType": "ParameterList", - "parameters": [], - "src": "998:0:37" - }, - "scope": 11166, - "src": "963:225:37", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11167, - "src": "228:962:37" - } - ], - "src": "78:1113:37" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", - "exportedSymbols": { - "InitializableOwnable": [ - 11166 - ] - }, - "id": 11167, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11080, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:37" - }, - { - "id": 11081, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:37" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 11082, - "nodeType": "StructuredDocumentation", - "src": "136:91:37", - "text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions" - }, - "fullyImplemented": true, - "id": 11166, - "linearizedBaseContracts": [ - 11166 - ], - "name": "InitializableOwnable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 11084, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11166, - "src": "264:22:37", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11083, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "264:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8456db15", - "id": 11086, - "mutability": "mutable", - "name": "_NEW_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11166, - "src": "292:26:37", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 11092, - "name": "OwnershipTransferPrepared", - "nodeType": "EventDefinition", - "parameters": { - "id": 11091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11088, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11092, - "src": "398:29:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "398:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11090, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11092, - "src": "429:24:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "429:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "397:57:37" - }, - "src": "366:89:37" - }, - { - "anonymous": false, - "documentation": null, - "id": 11098, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 11097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11094, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11098, - "src": "488:29:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "488:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11096, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11098, - "src": "519:24:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "519:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "487:57:37" - }, - "src": "461:84:37" - }, - { - "body": { - "id": 11109, - "nodeType": "Block", - "src": "616:71:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11101, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "634:3:37", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "634:10:37", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11103, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "648:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "634:21:37", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 11105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "657:11:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 11100, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "626:7:37", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "626:43:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11107, - "nodeType": "ExpressionStatement", - "src": "626:43:37" - }, - { - "id": 11108, - "nodeType": "PlaceholderStatement", - "src": "679:1:37" - } - ] - }, - "documentation": null, - "id": 11110, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11099, - "nodeType": "ParameterList", - "parameters": [], - "src": "613:2:37" - }, - "src": "595:92:37", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11136, - "nodeType": "Block", - "src": "801:156:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11118, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11112, - "src": "819:8:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "839:1:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "831:7:37", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:37", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "831:10:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "819:22:37", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 11124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "843:15:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 11117, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "811:7:37", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "811:48:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11126, - "nodeType": "ExpressionStatement", - "src": "811:48:37" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11128, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "900:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11129, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11112, - "src": "909:8:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11127, - "name": "OwnershipTransferPrepared", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11092, - "src": "874:25:37", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "874:44:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11131, - "nodeType": "EmitStatement", - "src": "869:49:37" - }, - { - "expression": { - "argumentTypes": null, - "id": 11134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11132, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "928:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11133, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11112, - "src": "942:8:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "928:22:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11135, - "nodeType": "ExpressionStatement", - "src": "928:22:37" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 11137, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11115, - "modifierName": { - "argumentTypes": null, - "id": 11114, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "791:9:37", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "791:9:37" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11112, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11137, - "src": "764:16:37", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "764:7:37", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "763:18:37" - }, - "returnParameters": { - "id": 11116, - "nodeType": "ParameterList", - "parameters": [], - "src": "801:0:37" - }, - "scope": 11166, - "src": "737:220:37", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 11164, - "nodeType": "Block", - "src": "998:190:37", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11141, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1016:3:37", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1016:10:37", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11143, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1030:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1016:25:37", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f434c41494d", - "id": 11145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1043:15:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - }, - "value": "INVALID_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - } - ], - "id": 11140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1008:7:37", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1008:51:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11147, - "nodeType": "ExpressionStatement", - "src": "1008:51:37" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11149, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1095:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11150, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1104:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11148, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11098, - "src": "1074:20:37", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1074:42:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11152, - "nodeType": "EmitStatement", - "src": "1069:47:37" - }, - { - "expression": { - "argumentTypes": null, - "id": 11155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11153, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "1126:7:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11154, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1136:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1126:21:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11156, - "nodeType": "ExpressionStatement", - "src": "1126:21:37" - }, - { - "expression": { - "argumentTypes": null, - "id": 11162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11157, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11086, - "src": "1157:11:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1179:1:37", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1171:7:37", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1171:7:37", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1171:10:37", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1157:24:37", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11163, - "nodeType": "ExpressionStatement", - "src": "1157:24:37" - } - ] - }, - "documentation": null, - "functionSelector": "4e71e0c8", - "id": 11165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11138, - "nodeType": "ParameterList", - "parameters": [], - "src": "986:2:37" - }, - "returnParameters": { - "id": 11139, - "nodeType": "ParameterList", - "parameters": [], - "src": "998:0:37" - }, - "scope": 11166, - "src": "963:225:37", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11167, - "src": "228:962:37" - } - ], - "src": "78:1113:37" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.721Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Ownable" - }, - "userdoc": { - "methods": {}, - "notice": "Ownership related functions" - } -} \ No newline at end of file diff --git a/build-v1/contracts/LiquidityProvider.json b/build-v1/contracts/LiquidityProvider.json deleted file mode 100644 index 2c21532..0000000 --- a/build-v1/contracts/LiquidityProvider.json +++ /dev/null @@ -1,29808 +0,0 @@ -{ - "contractName": "LiquidityProvider", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ChargePenalty", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "baseTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteTokenAmount", - "type": "uint256" - } - ], - "name": "ClaimAssets", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenAmount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - } - ], - "name": "Donate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenAmount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimAssets", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateBaseToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateQuoteToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finalSettlement", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedTarget", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTarget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteTarget", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMidPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "midPrice", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "retrieve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAllBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAllQuote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdrawAllQuoteTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdrawAllBaseTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getLpBaseBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "lpBalance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getLpQuoteBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "lpBalance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "getWithdrawQuotePenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "getWithdrawBasePenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ChargePenalty\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quoteTokenAmount\",\"type\":\"uint256\"}],\"name\":\"ClaimAssets\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"}],\"name\":\"Donate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"payer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateBaseToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateQuoteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpectedTarget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseTarget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTarget\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getLpBaseBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lpBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getLpQuoteBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lpBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMidPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"midPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getWithdrawBasePenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getWithdrawQuotePenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"retrieve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawAllBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawAllQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"LiquidityProvider\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for liquidity provider operations\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol\":\"LiquidityProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol\":{\"keccak256\":\"0x1bbb3571a539c9098a617410934ef589e40c6a910f155c31ff0680b2d754c3a9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ec97b6eb2b09157237590eae3c7b9b34720c8cf8b392d78aa1ef41c1c543c1ed\",\"dweb:/ipfs/QmYLVFUrD3fbgHFyhWTPmqyS41SDi8kyegS4MpVMdDyr9V\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol\":{\"keccak256\":\"0xaec47be06aa7f8994923c80f2c2318304423666300a48f03a43265787f27c708\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e187f46639dd1127abc81439896e67e21338e9eee8707996606b0c9c8ede68a1\",\"dweb:/ipfs/QmPSfPbZuyM3haHZtWVFknZLAMqg2Jy613jQ36JGuCm7LS\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol\":{\"keccak256\":\"0x8167f472615dc95cf743254785eeef730a0a3b753f05f5b64391fbb9992c8ab6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e2a25e398638f4bbecf434cf9b8b608c34a1271c051ee7e411b6c2c32702439\",\"dweb:/ipfs/QmUQmysLQ1k8uBWGzsTdmGCqyWQhZ4xtzPWAfsALGWYLPh\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":{\"keccak256\":\"0xe3f63c53706f21ad68ebeff69321682ffa83bb0552db7e4453dff9772724f657\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64e385f8c3fbe9e485d0b1b0f90f9621bf50fe02ee7cb95a44828a255db3581f\",\"dweb:/ipfs/QmNesw9cspw1fDDumDy1BSrCeGVij1BAfAVXpfajKHGUcn\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50612bdb806100206000396000f3fe608060405234801561001057600080fd5b50600436106103a45760003560e01c80638ff5e742116101e9578063c6b73cf91161010f578063ed0aa428116100ad578063f3ae6c5f1161007c578063f3ae6c5f1461066e578063f67ed44814610681578063f98bea1514610694578063ffa64225146106a7576103a4565b8063ed0aa4281461062d578063ee27c68914610640578063ee5150b314610648578063f2fde38b1461065b576103a4565b8063d689107c116100e9578063d689107c1461060d578063dd58b41c14610615578063eab5d20e1461061d578063ec2fd46d14610625576103a4565b8063c6b73cf9146105f5578063d47eaa37146105fd578063d4b9704614610605576103a4565b8063ab44a7a311610187578063c0ffa17811610156578063c0ffa178146105ca578063c3a2a665146105d2578063c59203af146105e5578063c5bbffe8146105ed576103a4565b8063ab44a7a31461059f578063ac1fbc98146105a7578063b2094fd3146105af578063c0a5f6ff146105b7576103a4565b80639b020fba116101c35780639b020fba14610574578063a3161a561461057c578063a598aca714610584578063aa06ce9b1461058c576103a4565b80638ff5e74214610546578063947cf92b1461054e57806395faa5f614610561576103a4565b80633960f142116102ce578063648a4fac1161026c578063796da7af1161023b578063796da7af1461051b5780637aed942d146105235780637c9b8e89146105365780638456db151461053e576103a4565b8063648a4fac146104e357806368be20ad146104eb5780636ec6a58d1461050b57806373a2ab7c14610513576103a4565b80634de4527e116102a85780634de4527e146104b85780634e71e0c8146104c057806354fd4d50146104c85780635f179f64146104d0576103a4565b80633960f142146104a05780634322ec83146104a85780634a248d2a146104b0576103a4565b806317be952e1161034657806327bed8ee1161031557806327bed8ee1461045f5780632aa82c651461047257806336a53bbb1461047a578063387b0c111461048d576103a4565b806317be952e146104255780631e34b9cc1461043a5780631f3c156e1461044d578063245c968514610457576103a4565b80630e6518e9116103825780630e6518e9146103ed578063108db744146103f557806316048bc4146104085780631769ddaa1461041d576103a4565b806304512dc4146103a95780630c9f7bd0146103d25780630cd1667d146103e5575b600080fd5b6103bc6103b736600461257d565b6106bd565b6040516103c99190612b3e565b60405180910390f35b6103bc6103e03660046125e2565b61084e565b6103bc61092d565b6103bc6109b0565b6103bc610403366004612598565b6109b6565b610410610bab565b6040516103c9919061264b565b6103bc610bba565b61042d610bc0565b6040516103c991906126cf565b6103bc61044836600461257d565b610bc9565b610455610d23565b005b6103bc610fe6565b6103bc61046d3660046125e2565b610fec565b6103bc610ffe565b6103bc61048836600461257d565b611043565b61045561049b3660046125e2565b611092565b6104106110f2565b610410611101565b610410611110565b6103bc61111f565b610455611125565b6103bc6111b3565b6103bc6104de366004612598565b6111b8565b6104556112fd565b6104fe6104f936600461257d565b611417565b6040516103c9919061269c565b6104fe61142c565b61041061143c565b6103bc61144b565b6103bc61053136600461257d565b611490565b6103bc611511565b610410611517565b6104fe611526565b6103bc61055c366004612598565b611534565b6103bc61056f36600461257d565b6116ee565b6103bc611729565b6104fe61172f565b6104fe611738565b6103bc61059a366004612598565b611748565b6103bc61186f565b610410611875565b6103bc611884565b6103bc6105c53660046125e2565b61188a565b6103bc611896565b6104556105e0366004612598565b61189c565b6103bc611a72565b6104fe611a7d565b6103bc611a8d565b6103bc611a93565b610410611a9e565b610410611aad565b6104fe611abc565b6103bc611acc565b6103bc611ad2565b61045561063b3660046125e2565b611ad8565b6103bc611b28565b6103bc6106563660046125e2565b611c19565b61045561066936600461257d565b611cb8565b6103bc61067c3660046125e2565b611d63565b6103bc61068f36600461257d565b611d6f565b6103bc6106a23660046125e2565b611da0565b6106af611dac565b6040516103c9929190612b57565b600154600090600160a01b900460ff16156106f35760405162461bcd60e51b81526004016106ea906127d3565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161561072f5760405162461bcd60e51b81526004016106ea906129d2565b600061073a33611043565b9050600061074733611d6f565b905060006107548361084e565b9050828111156107765760405162461bcd60e51b81526004016106ea906129aa565b601054610789908463ffffffff611e7016565b6010556107963383611e98565b6107af856107aa858463ffffffff611e7016565b611f00565b6107b881611f37565b846001600160a01b0316336001600160a01b0316600080516020612b66833981519152600086866040516107ee939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b868339815191526000836040516108209291906126a7565b60405180910390a2610838838263ffffffff611e7016565b6001805460ff60a01b1916905595945050505050565b60006012548211156108725760405162461bcd60e51b81526004016106ea906126e3565b6002600e5460ff16600281111561088557fe5b14156109245760006108a4600f54601154611e7090919063ffffffff16565b905060006108b061144b565b905060006108be8383611f8b565b905060006108d1601254600d5484611fb5565b905060006108f66108ed88601254611e7090919063ffffffff16565b600d5485611fb5565b905061091861090b828963ffffffff61205816565b839063ffffffff611e7016565b95505050505050610928565b5060005b919050565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa91906125fa565b90505b90565b60165481565b600154600090600160a01b900460ff16156109e35760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615610a1f5760405162461bcd60e51b81526004016106ea906129d2565b6000610a29611dac565b9150506000610a36610ffe565b905060008111610a585760405162461bcd60e51b81526004016106ea906127f6565b6000610a7a83610a6e878563ffffffff61208416565b9063ffffffff6120be16565b9050610a8533611d6f565b811115610aa45760405162461bcd60e51b81526004016106ea906128af565b6000610aaf8661084e565b9050858110610ad05760405162461bcd60e51b81526004016106ea906129aa565b601054610ae3908763ffffffff611e7016565b601055610af03383611e98565b610b04876107aa888463ffffffff611e7016565b610b0d81611f37565b6001600160a01b03871633600080516020612b668339815191526000610b398a8663ffffffff611e7016565b86604051610b49939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b86833981519152600083604051610b7b9291906126a7565b60405180910390a2610b93868263ffffffff611e7016565b6001805460ff60a01b19169055979650505050505050565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b600154600090600160a01b900460ff1615610bf65760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615610c325760405162461bcd60e51b81526004016106ea906129d2565b6000610c3d336116ee565b90506000610c4a33611490565b90506000610c5783611c19565b905082811115610c795760405162461bcd60e51b81526004016106ea906129aa565b600f54610c8c908463ffffffff611e7016565b600f55610c9933836120eb565b610cb285610cad858463ffffffff611e7016565b61211d565b610cbb81612154565b846001600160a01b0316336001600160a01b0316600080516020612b6683398151915260018686604051610cf1939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b868339815191526001836040516108209291906126a7565b600154600160a01b900460ff1615610d4d5760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16610d885760405162461bcd60e51b81526004016106ea90612b15565b3360009081526017602052604090205460ff1615610db85760405162461bcd60e51b81526004016106ea90612aec565b336000818152601760205260408120805460ff1916600117905590610ddc90611d6f565b90506000610de933611490565b905060008215610e2057610e1d610dfe610ffe565b601054610e11908663ffffffff61208416565b9063ffffffff61219d16565b90505b60008215610e4957610e46610e3361092d565b600f54610e11908663ffffffff61208416565b90505b601054610e5c908363ffffffff611e7016565b601055600f54610e72908263ffffffff611e7016565b600f81905550610e94610e8784601554611f8b565b839063ffffffff61205816565b9150610eb2610ea585601654611f8b565b829063ffffffff61205816565b9050610ebe338261211d565b610ec83383611f00565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610efa903390879060040161265f565b600060405180830381600087803b158015610f1457600080fd5b505af1158015610f28573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150610f5e903390889060040161265f565b600060405180830381600087803b158015610f7857600080fd5b505af1158015610f8c573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c438284604051610fcb929190612b57565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b6000610ff83383611748565b92915050565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561097257600080fd5b60008061104e610ffe565b9050600061105a611dac565b9150508161106d57600092505050610928565b61108a82610e118361107e88611d6f565b9063ffffffff61208416565b949350505050565b600154600160a01b900460ff16156110bc5760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790556110d933826121c7565b6110e281611f37565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b0316331461114f5760405162461bcd60e51b81526004016106ea9061271a565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b600154600090600160a01b900460ff16156111e55760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b81b900460ff166112205760405162461bcd60e51b81526004016106ea9061279c565b600061122a611dac565b9150506000611237610ffe565b905083816112565761124f858463ffffffff61205816565b9050611273565b82156112735761127083610e11878563ffffffff61208416565b90505b61127d33866121c7565b611287868261222c565b60105461129a908663ffffffff61205816565b6010556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b906112df906000908a9087906126b7565b60405180910390a36001805460ff60a01b1916905595945050505050565b6000546001600160a01b031633146113275760405162461bcd60e51b81526004016106ea906129f7565b600154600160b01b900460ff16156113515760405162461bcd60e51b81526004016106ea906129d2565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600061137961092d565b90506000611385610ffe565b905060105460125411156113c15760006113ac601054601254611e7090919063ffffffff16565b90506113b8818461225e565b601555506113c8565b6012546010555b600f5460115411156114025760006113ed600f54601154611e7090919063ffffffff16565b90506113f9818361225e565b60165550611409565b601154600f555b5050600e805460ff19169055565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561097257600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a08231906114c190859060040161264b565b60206040518083038186803b1580156114d957600080fd5b505afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff891906125fa565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b600154600090600160a01b900460ff16156115615760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161561159d5760405162461bcd60e51b81526004016106ea906129d2565b60006115a7611dac565b50905060006115b461092d565b9050600081116115d65760405162461bcd60e51b81526004016106ea90612741565b60006115ec83610a6e878563ffffffff61208416565b90506115f733611490565b8111156116165760405162461bcd60e51b81526004016106ea90612a87565b600061162186611c19565b9050858111156116435760405162461bcd60e51b81526004016106ea906129aa565b600f54611656908763ffffffff611e7016565b600f5561166333836120eb565b61167787610cad888463ffffffff611e7016565b61168081612154565b6001600160a01b03871633600080516020612b6683398151915260016116ac8a8663ffffffff611e7016565b866040516116bc939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b86833981519152600183604051610b7b9291906126a7565b6000806116f961092d565b90506000611705611dac565b5090508161171857600092505050610928565b61108a82610e118361107e88611490565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600154600090600160a01b900460ff16156117755760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160c01b900460ff166117b05760405162461bcd60e51b81526004016106ea90612765565b60006117ba611dac565b50905060006117c761092d565b905083816117e6576117df858463ffffffff61205816565b9050611803565b82156118035761180083610e11878563ffffffff61208416565b90505b61180d338661227c565b61181786826122e1565b600f5461182a908663ffffffff61205816565b600f556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b906112df906001908a9087906126b7565b600b5481565b6014546001600160a01b031681565b600f5481565b6000610ff833836109b6565b600c5481565b6000546001600160a01b031633146118c65760405162461bcd60e51b81526004016106ea906129f7565b6008546001600160a01b038381169116141561198d576011546118ef908263ffffffff61205816565b6008546040516370a0823160e01b81526001600160a01b03909116906370a082319061191f90309060040161264b565b60206040518083038186803b15801561193757600080fd5b505afa15801561194b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196f91906125fa565b101561198d5760405162461bcd60e51b81526004016106ea9061294c565b6009546001600160a01b0383811691161415611a54576012546119b6908263ffffffff61205816565b6009546040516370a0823160e01b81526001600160a01b03909116906370a08231906119e690309060040161264b565b60206040518083038186803b1580156119fe57600080fd5b505afa158015611a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3691906125fa565b1015611a545760405162461bcd60e51b81526004016106ea906126e3565b611a6e6001600160a01b038316338363ffffffff61231316565b5050565b60006109aa336106bd565b600154600160b81b900460ff1681565b60155481565b60006109aa33610bc9565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b600154600160a01b900460ff1615611b025760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b179055611b1f338261227c565b6110e281612154565b6000806000611b35611dac565b90925090506002600e5460ff166002811115611b4d57fe5b1415611bcf576000611b79611b71601254610e11858661208490919063ffffffff16565b60125461225e565b9050611bb2611b8a600d5483611f8b565b600d54611ba690670de0b6b3a76400009063ffffffff611e7016565b9063ffffffff61205816565b9050611bc5611bbf61144b565b8261225e565b93505050506109ad565b6000611bf5611bed601154610e11868761208490919063ffffffff16565b60115461225e565b9050611c06611b8a600d5483611f8b565b9050611bc5611c1361144b565b82611f8b565b6000601154821115611c3d5760405162461bcd60e51b81526004016106ea9061294c565b6001600e5460ff166002811115611c5057fe5b1415610924576000611c6f601054601254611e7090919063ffffffff16565b90506000611c7b61144b565b90506000611c89838361225e565b90506000611c9c601154600d5484611fb5565b905060006108f66108ed88601154611e7090919063ffffffff16565b6000546001600160a01b03163314611ce25760405162461bcd60e51b81526004016106ea906129f7565b6001600160a01b038116611d085760405162461bcd60e51b81526004016106ea90612983565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ff833836111b8565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a08231906114c190859060040161264b565b6000610ff83383611534565b601254601154600091829182600e5460ff166002811115611dc957fe5b1415611de057600f54601054935093505050611e6c565b6002600e5460ff166002811115611df357fe5b1415611e25576000611e0361236e565b600f54909150611e19848363ffffffff61205816565b94509450505050611e6c565b6001600e5460ff166002811115611e3857fe5b1415611e69576000611e486123d5565b9050611e5a828263ffffffff61205816565b60105494509450505050611e6c565b50505b9091565b600082821115611e925760405162461bcd60e51b81526004016106ea90612929565b50900390565b601454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611eca908590859060040161265f565b600060405180830381600087803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b505050505050565b600954611f1d906001600160a01b0316838363ffffffff61231316565b601254611f30908263ffffffff611e7016565b6012555050565b601054611f4a908263ffffffff61205816565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e90611f80908390600090612b47565b60405180910390a150565b6000670de0b6b3a7640000611fa6848463ffffffff61208416565b81611fad57fe5b049392505050565b600080611fd0611fca600461107e8787611f8b565b86612433565b9050611ff6611ff1670de0b6b3a764000061107e848263ffffffff61205816565b612451565b9050600061202b61201583670de0b6b3a764000063ffffffff611e7016565b61202687600263ffffffff61208416565b612433565b905061204e86612049670de0b6b3a76400008463ffffffff61205816565b611f8b565b9695505050505050565b60008282018381101561207d5760405162461bcd60e51b81526004016106ea90612a1a565b9392505050565b60008261209357506000610ff8565b828202828482816120a057fe5b041461207d5760405162461bcd60e51b81526004016106ea90612ac9565b6000806120cb848461219d565b9050828102840380156120e357506001019050610ff8565b509050610ff8565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611eca908590859060040161265f565b60085461213a906001600160a01b0316838363ffffffff61231316565b60115461214d908263ffffffff611e7016565b6011555050565b600f54612167908263ffffffff61205816565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e90611f80908390600190612b47565b60008082116121be5760405162461bcd60e51b81526004016106ea90612887565b818381611fad57fe5b6005546012546121dd908363ffffffff61205816565b11156121fb5760405162461bcd60e51b81526004016106ea9061281b565b600954612219906001600160a01b031683308463ffffffff61248816565b601254611f30908263ffffffff61205816565b6014546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990611eca908590859060040161265f565b600061207d82610e1185670de0b6b3a764000063ffffffff61208416565b600454601154612292908363ffffffff61205816565b11156122b05760405162461bcd60e51b81526004016106ea906128f2565b6008546122ce906001600160a01b031683308463ffffffff61248816565b60115461214d908263ffffffff61205816565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990611eca908590859060040161265f565b6123698363a9059cbb60e01b848460405160240161233292919061265f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526124af565b505050565b600080612388600f54601154611e7090919063ffffffff16565b9050600061239461144b565b905060006123a28383611f8b565b905060006123b5601254600d5484611fb5565b90506123cc60125482611e7090919063ffffffff16565b94505050505090565b6000806123ef601054601254611e7090919063ffffffff16565b905060006123fb61144b565b90506000612409838361225e565b9050600061241c601154600d5484611fb5565b90506123cc60115482611e7090919063ffffffff16565b600061207d82610a6e85670de0b6b3a764000063ffffffff61208416565b80600160028204015b818110156124825780915060028182858161247157fe5b04018161247a57fe5b04905061245a565b50919050565b6124a9846323b872dd60e01b85858560405160240161233293929190612678565b50505050565b60006060836001600160a01b0316836040516124cb9190612612565b6000604051808303816000865af19150503d8060008114612508576040519150601f19603f3d011682016040523d82523d6000602084013e61250d565b606091505b50915091508161252f5760405162461bcd60e51b81526004016106ea90612852565b8051156124a9578080602001905181019061254a91906125c2565b6124a95760405162461bcd60e51b81526004016106ea90612a3d565b80356001600160a01b0381168114610ff857600080fd5b60006020828403121561258e578081fd5b61207d8383612566565b600080604083850312156125aa578081fd5b6125b48484612566565b946020939093013593505050565b6000602082840312156125d3578081fd5b8151801515811461207d578182fd5b6000602082840312156125f3578081fd5b5035919050565b60006020828403121561260b578081fd5b5051919050565b60008251815b818110156126325760208186018101518583015201612618565b818111156126405782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b92151583526020830191909152604082015260600190565b60208101600383106126dd57fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600a908201526904e4f5f424153455f4c560b41b604082015260600190565b60208082526018908201527f4445504f5349545f424153455f4e4f545f414c4c4f5745440000000000000000604082015260600190565b60208082526019908201527f4445504f5349545f51554f54455f4e4f545f414c4c4f57454400000000000000604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252600b908201526a04e4f5f51554f54455f4c560ac1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526023908201527f4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f6040820152620aa8e960eb1b606082015260800190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600e908201526d1411539053151657d15610d1515160921b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526022908201527f4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f5560408201526108e960f31b606082015260800190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fee89c586bd81ee35a18f7eac22a732b56e589a2821497cce12a0208828540a36d581f351e2bdb9fa9021bb2a24def989f06ac236f8a92aac14bcbc618ddf3826aa2646970667358221220f817095e7822ba6073f1c4d1397cd91906e8e24ff2aa07bd7a3d88e5a48f19e964736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103a45760003560e01c80638ff5e742116101e9578063c6b73cf91161010f578063ed0aa428116100ad578063f3ae6c5f1161007c578063f3ae6c5f1461066e578063f67ed44814610681578063f98bea1514610694578063ffa64225146106a7576103a4565b8063ed0aa4281461062d578063ee27c68914610640578063ee5150b314610648578063f2fde38b1461065b576103a4565b8063d689107c116100e9578063d689107c1461060d578063dd58b41c14610615578063eab5d20e1461061d578063ec2fd46d14610625576103a4565b8063c6b73cf9146105f5578063d47eaa37146105fd578063d4b9704614610605576103a4565b8063ab44a7a311610187578063c0ffa17811610156578063c0ffa178146105ca578063c3a2a665146105d2578063c59203af146105e5578063c5bbffe8146105ed576103a4565b8063ab44a7a31461059f578063ac1fbc98146105a7578063b2094fd3146105af578063c0a5f6ff146105b7576103a4565b80639b020fba116101c35780639b020fba14610574578063a3161a561461057c578063a598aca714610584578063aa06ce9b1461058c576103a4565b80638ff5e74214610546578063947cf92b1461054e57806395faa5f614610561576103a4565b80633960f142116102ce578063648a4fac1161026c578063796da7af1161023b578063796da7af1461051b5780637aed942d146105235780637c9b8e89146105365780638456db151461053e576103a4565b8063648a4fac146104e357806368be20ad146104eb5780636ec6a58d1461050b57806373a2ab7c14610513576103a4565b80634de4527e116102a85780634de4527e146104b85780634e71e0c8146104c057806354fd4d50146104c85780635f179f64146104d0576103a4565b80633960f142146104a05780634322ec83146104a85780634a248d2a146104b0576103a4565b806317be952e1161034657806327bed8ee1161031557806327bed8ee1461045f5780632aa82c651461047257806336a53bbb1461047a578063387b0c111461048d576103a4565b806317be952e146104255780631e34b9cc1461043a5780631f3c156e1461044d578063245c968514610457576103a4565b80630e6518e9116103825780630e6518e9146103ed578063108db744146103f557806316048bc4146104085780631769ddaa1461041d576103a4565b806304512dc4146103a95780630c9f7bd0146103d25780630cd1667d146103e5575b600080fd5b6103bc6103b736600461257d565b6106bd565b6040516103c99190612b3e565b60405180910390f35b6103bc6103e03660046125e2565b61084e565b6103bc61092d565b6103bc6109b0565b6103bc610403366004612598565b6109b6565b610410610bab565b6040516103c9919061264b565b6103bc610bba565b61042d610bc0565b6040516103c991906126cf565b6103bc61044836600461257d565b610bc9565b610455610d23565b005b6103bc610fe6565b6103bc61046d3660046125e2565b610fec565b6103bc610ffe565b6103bc61048836600461257d565b611043565b61045561049b3660046125e2565b611092565b6104106110f2565b610410611101565b610410611110565b6103bc61111f565b610455611125565b6103bc6111b3565b6103bc6104de366004612598565b6111b8565b6104556112fd565b6104fe6104f936600461257d565b611417565b6040516103c9919061269c565b6104fe61142c565b61041061143c565b6103bc61144b565b6103bc61053136600461257d565b611490565b6103bc611511565b610410611517565b6104fe611526565b6103bc61055c366004612598565b611534565b6103bc61056f36600461257d565b6116ee565b6103bc611729565b6104fe61172f565b6104fe611738565b6103bc61059a366004612598565b611748565b6103bc61186f565b610410611875565b6103bc611884565b6103bc6105c53660046125e2565b61188a565b6103bc611896565b6104556105e0366004612598565b61189c565b6103bc611a72565b6104fe611a7d565b6103bc611a8d565b6103bc611a93565b610410611a9e565b610410611aad565b6104fe611abc565b6103bc611acc565b6103bc611ad2565b61045561063b3660046125e2565b611ad8565b6103bc611b28565b6103bc6106563660046125e2565b611c19565b61045561066936600461257d565b611cb8565b6103bc61067c3660046125e2565b611d63565b6103bc61068f36600461257d565b611d6f565b6103bc6106a23660046125e2565b611da0565b6106af611dac565b6040516103c9929190612b57565b600154600090600160a01b900460ff16156106f35760405162461bcd60e51b81526004016106ea906127d3565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161561072f5760405162461bcd60e51b81526004016106ea906129d2565b600061073a33611043565b9050600061074733611d6f565b905060006107548361084e565b9050828111156107765760405162461bcd60e51b81526004016106ea906129aa565b601054610789908463ffffffff611e7016565b6010556107963383611e98565b6107af856107aa858463ffffffff611e7016565b611f00565b6107b881611f37565b846001600160a01b0316336001600160a01b0316600080516020612b66833981519152600086866040516107ee939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b868339815191526000836040516108209291906126a7565b60405180910390a2610838838263ffffffff611e7016565b6001805460ff60a01b1916905595945050505050565b60006012548211156108725760405162461bcd60e51b81526004016106ea906126e3565b6002600e5460ff16600281111561088557fe5b14156109245760006108a4600f54601154611e7090919063ffffffff16565b905060006108b061144b565b905060006108be8383611f8b565b905060006108d1601254600d5484611fb5565b905060006108f66108ed88601254611e7090919063ffffffff16565b600d5485611fb5565b905061091861090b828963ffffffff61205816565b839063ffffffff611e7016565b95505050505050610928565b5060005b919050565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa91906125fa565b90505b90565b60165481565b600154600090600160a01b900460ff16156109e35760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615610a1f5760405162461bcd60e51b81526004016106ea906129d2565b6000610a29611dac565b9150506000610a36610ffe565b905060008111610a585760405162461bcd60e51b81526004016106ea906127f6565b6000610a7a83610a6e878563ffffffff61208416565b9063ffffffff6120be16565b9050610a8533611d6f565b811115610aa45760405162461bcd60e51b81526004016106ea906128af565b6000610aaf8661084e565b9050858110610ad05760405162461bcd60e51b81526004016106ea906129aa565b601054610ae3908763ffffffff611e7016565b601055610af03383611e98565b610b04876107aa888463ffffffff611e7016565b610b0d81611f37565b6001600160a01b03871633600080516020612b668339815191526000610b398a8663ffffffff611e7016565b86604051610b49939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b86833981519152600083604051610b7b9291906126a7565b60405180910390a2610b93868263ffffffff611e7016565b6001805460ff60a01b19169055979650505050505050565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b600154600090600160a01b900460ff1615610bf65760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615610c325760405162461bcd60e51b81526004016106ea906129d2565b6000610c3d336116ee565b90506000610c4a33611490565b90506000610c5783611c19565b905082811115610c795760405162461bcd60e51b81526004016106ea906129aa565b600f54610c8c908463ffffffff611e7016565b600f55610c9933836120eb565b610cb285610cad858463ffffffff611e7016565b61211d565b610cbb81612154565b846001600160a01b0316336001600160a01b0316600080516020612b6683398151915260018686604051610cf1939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b868339815191526001836040516108209291906126a7565b600154600160a01b900460ff1615610d4d5760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16610d885760405162461bcd60e51b81526004016106ea90612b15565b3360009081526017602052604090205460ff1615610db85760405162461bcd60e51b81526004016106ea90612aec565b336000818152601760205260408120805460ff1916600117905590610ddc90611d6f565b90506000610de933611490565b905060008215610e2057610e1d610dfe610ffe565b601054610e11908663ffffffff61208416565b9063ffffffff61219d16565b90505b60008215610e4957610e46610e3361092d565b600f54610e11908663ffffffff61208416565b90505b601054610e5c908363ffffffff611e7016565b601055600f54610e72908263ffffffff611e7016565b600f81905550610e94610e8784601554611f8b565b839063ffffffff61205816565b9150610eb2610ea585601654611f8b565b829063ffffffff61205816565b9050610ebe338261211d565b610ec83383611f00565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610efa903390879060040161265f565b600060405180830381600087803b158015610f1457600080fd5b505af1158015610f28573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150610f5e903390889060040161265f565b600060405180830381600087803b158015610f7857600080fd5b505af1158015610f8c573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c438284604051610fcb929190612b57565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b6000610ff83383611748565b92915050565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561097257600080fd5b60008061104e610ffe565b9050600061105a611dac565b9150508161106d57600092505050610928565b61108a82610e118361107e88611d6f565b9063ffffffff61208416565b949350505050565b600154600160a01b900460ff16156110bc5760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790556110d933826121c7565b6110e281611f37565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b0316331461114f5760405162461bcd60e51b81526004016106ea9061271a565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b600154600090600160a01b900460ff16156111e55760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b81b900460ff166112205760405162461bcd60e51b81526004016106ea9061279c565b600061122a611dac565b9150506000611237610ffe565b905083816112565761124f858463ffffffff61205816565b9050611273565b82156112735761127083610e11878563ffffffff61208416565b90505b61127d33866121c7565b611287868261222c565b60105461129a908663ffffffff61205816565b6010556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b906112df906000908a9087906126b7565b60405180910390a36001805460ff60a01b1916905595945050505050565b6000546001600160a01b031633146113275760405162461bcd60e51b81526004016106ea906129f7565b600154600160b01b900460ff16156113515760405162461bcd60e51b81526004016106ea906129d2565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600061137961092d565b90506000611385610ffe565b905060105460125411156113c15760006113ac601054601254611e7090919063ffffffff16565b90506113b8818461225e565b601555506113c8565b6012546010555b600f5460115411156114025760006113ed600f54601154611e7090919063ffffffff16565b90506113f9818361225e565b60165550611409565b601154600f555b5050600e805460ff19169055565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561097257600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a08231906114c190859060040161264b565b60206040518083038186803b1580156114d957600080fd5b505afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff891906125fa565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b600154600090600160a01b900460ff16156115615760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161561159d5760405162461bcd60e51b81526004016106ea906129d2565b60006115a7611dac565b50905060006115b461092d565b9050600081116115d65760405162461bcd60e51b81526004016106ea90612741565b60006115ec83610a6e878563ffffffff61208416565b90506115f733611490565b8111156116165760405162461bcd60e51b81526004016106ea90612a87565b600061162186611c19565b9050858111156116435760405162461bcd60e51b81526004016106ea906129aa565b600f54611656908763ffffffff611e7016565b600f5561166333836120eb565b61167787610cad888463ffffffff611e7016565b61168081612154565b6001600160a01b03871633600080516020612b6683398151915260016116ac8a8663ffffffff611e7016565b866040516116bc939291906126b7565b60405180910390a3336001600160a01b0316600080516020612b86833981519152600183604051610b7b9291906126a7565b6000806116f961092d565b90506000611705611dac565b5090508161171857600092505050610928565b61108a82610e118361107e88611490565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600154600090600160a01b900460ff16156117755760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b1790819055600160c01b900460ff166117b05760405162461bcd60e51b81526004016106ea90612765565b60006117ba611dac565b50905060006117c761092d565b905083816117e6576117df858463ffffffff61205816565b9050611803565b82156118035761180083610e11878563ffffffff61208416565b90505b61180d338661227c565b61181786826122e1565b600f5461182a908663ffffffff61205816565b600f556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b906112df906001908a9087906126b7565b600b5481565b6014546001600160a01b031681565b600f5481565b6000610ff833836109b6565b600c5481565b6000546001600160a01b031633146118c65760405162461bcd60e51b81526004016106ea906129f7565b6008546001600160a01b038381169116141561198d576011546118ef908263ffffffff61205816565b6008546040516370a0823160e01b81526001600160a01b03909116906370a082319061191f90309060040161264b565b60206040518083038186803b15801561193757600080fd5b505afa15801561194b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196f91906125fa565b101561198d5760405162461bcd60e51b81526004016106ea9061294c565b6009546001600160a01b0383811691161415611a54576012546119b6908263ffffffff61205816565b6009546040516370a0823160e01b81526001600160a01b03909116906370a08231906119e690309060040161264b565b60206040518083038186803b1580156119fe57600080fd5b505afa158015611a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3691906125fa565b1015611a545760405162461bcd60e51b81526004016106ea906126e3565b611a6e6001600160a01b038316338363ffffffff61231316565b5050565b60006109aa336106bd565b600154600160b81b900460ff1681565b60155481565b60006109aa33610bc9565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b600154600160a01b900460ff1615611b025760405162461bcd60e51b81526004016106ea906127d3565b6001805460ff60a01b1916600160a01b179055611b1f338261227c565b6110e281612154565b6000806000611b35611dac565b90925090506002600e5460ff166002811115611b4d57fe5b1415611bcf576000611b79611b71601254610e11858661208490919063ffffffff16565b60125461225e565b9050611bb2611b8a600d5483611f8b565b600d54611ba690670de0b6b3a76400009063ffffffff611e7016565b9063ffffffff61205816565b9050611bc5611bbf61144b565b8261225e565b93505050506109ad565b6000611bf5611bed601154610e11868761208490919063ffffffff16565b60115461225e565b9050611c06611b8a600d5483611f8b565b9050611bc5611c1361144b565b82611f8b565b6000601154821115611c3d5760405162461bcd60e51b81526004016106ea9061294c565b6001600e5460ff166002811115611c5057fe5b1415610924576000611c6f601054601254611e7090919063ffffffff16565b90506000611c7b61144b565b90506000611c89838361225e565b90506000611c9c601154600d5484611fb5565b905060006108f66108ed88601154611e7090919063ffffffff16565b6000546001600160a01b03163314611ce25760405162461bcd60e51b81526004016106ea906129f7565b6001600160a01b038116611d085760405162461bcd60e51b81526004016106ea90612983565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ff833836111b8565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a08231906114c190859060040161264b565b6000610ff83383611534565b601254601154600091829182600e5460ff166002811115611dc957fe5b1415611de057600f54601054935093505050611e6c565b6002600e5460ff166002811115611df357fe5b1415611e25576000611e0361236e565b600f54909150611e19848363ffffffff61205816565b94509450505050611e6c565b6001600e5460ff166002811115611e3857fe5b1415611e69576000611e486123d5565b9050611e5a828263ffffffff61205816565b60105494509450505050611e6c565b50505b9091565b600082821115611e925760405162461bcd60e51b81526004016106ea90612929565b50900390565b601454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611eca908590859060040161265f565b600060405180830381600087803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b505050505050565b600954611f1d906001600160a01b0316838363ffffffff61231316565b601254611f30908263ffffffff611e7016565b6012555050565b601054611f4a908263ffffffff61205816565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e90611f80908390600090612b47565b60405180910390a150565b6000670de0b6b3a7640000611fa6848463ffffffff61208416565b81611fad57fe5b049392505050565b600080611fd0611fca600461107e8787611f8b565b86612433565b9050611ff6611ff1670de0b6b3a764000061107e848263ffffffff61205816565b612451565b9050600061202b61201583670de0b6b3a764000063ffffffff611e7016565b61202687600263ffffffff61208416565b612433565b905061204e86612049670de0b6b3a76400008463ffffffff61205816565b611f8b565b9695505050505050565b60008282018381101561207d5760405162461bcd60e51b81526004016106ea90612a1a565b9392505050565b60008261209357506000610ff8565b828202828482816120a057fe5b041461207d5760405162461bcd60e51b81526004016106ea90612ac9565b6000806120cb848461219d565b9050828102840380156120e357506001019050610ff8565b509050610ff8565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611eca908590859060040161265f565b60085461213a906001600160a01b0316838363ffffffff61231316565b60115461214d908263ffffffff611e7016565b6011555050565b600f54612167908263ffffffff61205816565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e90611f80908390600190612b47565b60008082116121be5760405162461bcd60e51b81526004016106ea90612887565b818381611fad57fe5b6005546012546121dd908363ffffffff61205816565b11156121fb5760405162461bcd60e51b81526004016106ea9061281b565b600954612219906001600160a01b031683308463ffffffff61248816565b601254611f30908263ffffffff61205816565b6014546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990611eca908590859060040161265f565b600061207d82610e1185670de0b6b3a764000063ffffffff61208416565b600454601154612292908363ffffffff61205816565b11156122b05760405162461bcd60e51b81526004016106ea906128f2565b6008546122ce906001600160a01b031683308463ffffffff61248816565b60115461214d908263ffffffff61205816565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990611eca908590859060040161265f565b6123698363a9059cbb60e01b848460405160240161233292919061265f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526124af565b505050565b600080612388600f54601154611e7090919063ffffffff16565b9050600061239461144b565b905060006123a28383611f8b565b905060006123b5601254600d5484611fb5565b90506123cc60125482611e7090919063ffffffff16565b94505050505090565b6000806123ef601054601254611e7090919063ffffffff16565b905060006123fb61144b565b90506000612409838361225e565b9050600061241c601154600d5484611fb5565b90506123cc60115482611e7090919063ffffffff16565b600061207d82610a6e85670de0b6b3a764000063ffffffff61208416565b80600160028204015b818110156124825780915060028182858161247157fe5b04018161247a57fe5b04905061245a565b50919050565b6124a9846323b872dd60e01b85858560405160240161233293929190612678565b50505050565b60006060836001600160a01b0316836040516124cb9190612612565b6000604051808303816000865af19150503d8060008114612508576040519150601f19603f3d011682016040523d82523d6000602084013e61250d565b606091505b50915091508161252f5760405162461bcd60e51b81526004016106ea90612852565b8051156124a9578080602001905181019061254a91906125c2565b6124a95760405162461bcd60e51b81526004016106ea90612a3d565b80356001600160a01b0381168114610ff857600080fd5b60006020828403121561258e578081fd5b61207d8383612566565b600080604083850312156125aa578081fd5b6125b48484612566565b946020939093013593505050565b6000602082840312156125d3578081fd5b8151801515811461207d578182fd5b6000602082840312156125f3578081fd5b5035919050565b60006020828403121561260b578081fd5b5051919050565b60008251815b818110156126325760208186018101518583015201612618565b818111156126405782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b92151583526020830191909152604082015260600190565b60208101600383106126dd57fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600a908201526904e4f5f424153455f4c560b41b604082015260600190565b60208082526018908201527f4445504f5349545f424153455f4e4f545f414c4c4f5745440000000000000000604082015260600190565b60208082526019908201527f4445504f5349545f51554f54455f4e4f545f414c4c4f57454400000000000000604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252600b908201526a04e4f5f51554f54455f4c560ac1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526023908201527f4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f6040820152620aa8e960eb1b606082015260800190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600e908201526d1411539053151657d15610d1515160921b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526022908201527f4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f5560408201526108e960f31b606082015260800190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fee89c586bd81ee35a18f7eac22a732b56e589a2821497cce12a0208828540a36d581f351e2bdb9fa9021bb2a24def989f06ac236f8a92aac14bcbc618ddf3826aa2646970667358221220f817095e7822ba6073f1c4d1397cd91906e8e24ff2aa07bd7a3d88e5a48f19e964736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "618:11095:24:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "618:11095:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6601:882;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9778:964;;;;;;;;;:::i;2949:133:27:-;;;:::i;2006:43::-;;;:::i;4161:1196:24:-;;;;;;;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;1604:31::-;;;:::i;:::-;;;;;;;;7489:835:24;;;;;;;;;:::i;3873:1392:26:-;;;:::i;:::-;;1688:42:27;;;:::i;1751:121:24:-;;;;;;;;;:::i;3243:135:27:-;;;:::i;9385:387:24:-;;;;;;;;;:::i;2545:161:26:-;;;;;;;;;:::i;1202:27:27:-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;3433:87:27:-;;;:::i;2418:847:24:-;;;;;;;;;:::i;2808:1006:26:-;;;:::i;2055:41:27:-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;2796:147::-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;1036:29:27:-;;;:::i;5363:1175:24:-;;;;;;;;;:::i;9000:379::-;;;;;;;;;:::i;1071:35:27:-;;;:::i;1002:28::-;;;:::i;839:34::-;;;:::i;3271:831:24:-;;;;;;;;;:::i;1511:28:27:-;;;:::i;1849:36::-;;;:::i;1641:41::-;;;:::i;1878:125:24:-;;;;;;;;;:::i;1545:28:27:-;;;:::i;5324:581:26:-;;;;;;;;;:::i;2251:109:24:-;;;:::i;798:35:27:-;;;:::i;1957:43::-;;;:::i;2138:107:24:-;;;:::i;1385:28:27:-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;1736:29::-;;;:::i;1579:18::-;;;:::i;2381:158:26:-;;;;;;;;;:::i;5504:799:25:-;;;:::i;10748:963:24:-;;;;;;;;;:::i;737:220:37:-;;;;;;;;;:::i;2009:123:24:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;1622:123:24:-;;;;;;;;;:::i;4819:679:25:-;;;:::i;:::-;;;;;;;;;6601:882:24;515:9:39;;6720:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;6743:22:::2;6768:29;6786:10;6768:17;:29::i;:::-;6743:54;;6807:15;6825:36;6850:10;6825:24;:36::i;:::-;6807:54;;6925:15;6943:39;6967:14;6943:23;:39::i;:::-;6925:57;;7011:14;7000:7;:25;;6992:52;;;;-1:-1:-1::0;;;6992:52:24::2;;;;;;;;;7107:27;::::0;:47:::2;::::0;7139:14;7107:47:::2;:31;:47;:::i;:::-;7077:27;:77:::0;7164:38:::2;7182:10;7194:7:::0;7164:17:::2;:38::i;:::-;7212:55;7235:2:::0;7239:27:::2;:14:::0;7258:7;7239:27:::2;:18;:27;:::i;:::-;7212:22;:55::i;:::-;7277:26;7295:7;7277:17;:26::i;:::-;7340:2;-1:-1:-1::0;;;;;7319:56:24::2;7328:10;-1:-1:-1::0;;;;;7319:56:24::2;-1:-1:-1::0;;;;;;;;;;;7344:5:24::2;7351:14;7367:7;7319:56;;;;;;;;;;;;;;;;;7404:10;-1:-1:-1::0;;;;;7390:41:24::2;-1:-1:-1::0;;;;;;;;;;;7416:5:24::2;7423:7;7390:41;;;;;;;;;;;;;;;;7449:27;:14:::0;7468:7;7449:27:::2;:18;:27;:::i;:::-;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;7442:34:24;6601:882;-1:-1:-1;;;;;6601:882:24:o;9778:964::-;9848:15;9893;;9883:6;:25;;9875:67;;;;-1:-1:-1;;;9875:67:24;;;;;;;;;9970:23;9956:10;;;;:37;;;;;;;;;9952:784;;;10009:17;10029:46;10048:26;;10029:14;;:18;;:46;;;;:::i;:::-;10009:66;;10089:13;10105:16;:14;:16::i;:::-;10089:32;;10135:18;10156:33;10172:9;10183:5;10156:15;:33::i;:::-;10135:54;;10203:19;10225:137;10284:15;;10317:3;;10338:10;10225:41;:137::i;:::-;10203:159;;10430:31;10464:149;10523:27;10543:6;10523:15;;:19;;:27;;;;:::i;:::-;10568:3;;10589:10;10464:41;:149::i;:::-;10430:183;-1:-1:-1;10634:52:24;10650:35;10430:183;10678:6;10650:35;:27;:35;:::i;:::-;10634:11;;:52;:15;:52;:::i;:::-;10627:59;;;;;;;;;9952:784;-1:-1:-1;10724:1:24;9952:784;9778:964;;;:::o;2949:133:27:-;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;;:::o;2006:43::-;;;;:::o;4161:1196:24:-;515:9:39;;4293:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;4348:19:::2;4371;:17;:19::i;:::-;4345:45;;;4400:25;4428:22;:20;:22::i;:::-;4400:50;;4488:1;4468:17;:21;4460:45;;;;-1:-1:-1::0;;;4460:45:24::2;;;;;;;;;4516:27;4546:50;4584:11:::0;4546:29:::2;:6:::0;4557:17;4546:29:::2;:10;:29;:::i;:::-;:37:::0;:50:::2;:37;:50;:::i;:::-;4516:80;;4650:36;4675:10;4650:24;:36::i;:::-;4627:19;:59;;4606:141;;;;-1:-1:-1::0;;;4606:141:24::2;;;;;;;;;4811:15;4829:31;4853:6;4829:23;:31::i;:::-;4811:49;;4888:6;4878:7;:16;4870:43;;;;-1:-1:-1::0;;;4870:43:24::2;;;;;;;;;4976:27;::::0;:39:::2;::::0;5008:6;4976:39:::2;:31;:39;:::i;:::-;4946:27;:69:::0;5025:50:::2;5043:10;5055:19:::0;5025:17:::2;:50::i;:::-;5085:47;5108:2:::0;5112:19:::2;:6:::0;5123:7;5112:19:::2;:10;:19;:::i;5085:47::-;5142:26;5160:7;5142:17;:26::i;:::-;-1:-1:-1::0;;;;;5184:73:24;::::2;5193:10;-1:-1:-1::0;;;;;;;;;;;5209:5:24::2;5216:19;:6:::0;5227:7;5216:19:::2;:10;:19;:::i;:::-;5237;5184:73;;;;;;;;;;;;;;;;;5286:10;-1:-1:-1::0;;;;;5272:41:24::2;-1:-1:-1::0;;;;;;;;;;;5298:5:24::2;5305:7;5272:41;;;;;;;;;;;;;;;;5331:19;:6:::0;5342:7;5331:19:::2;:10;:19;:::i;:::-;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;5324:26:24;4161:1196;-1:-1:-1;;;;;;;4161:1196:24:o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;1604:31::-;;;;;;:::o;7489:835:24:-;515:9:39;;7575:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;7594:22:::2;7619:28;7636:10;7619:16;:28::i;:::-;7594:53;;7657:15;7675:35;7699:10;7675:23;:35::i;:::-;7657:53;;7774:15;7792:38;7815:14;7792:22;:38::i;:::-;7774:56;;7859:14;7848:7;:25;;7840:52;;;;-1:-1:-1::0;;;7840:52:24::2;;;;;;;;;7954:26;::::0;:46:::2;::::0;7985:14;7954:46:::2;:30;:46;:::i;:::-;7925:26;:75:::0;8010:37:::2;8027:10;8039:7:::0;8010:16:::2;:37::i;:::-;8057:54;8079:2:::0;8083:27:::2;:14:::0;8102:7;8083:27:::2;:18;:27;:::i;:::-;8057:21;:54::i;:::-;8121:25;8138:7;8121:16;:25::i;:::-;8183:2;-1:-1:-1::0;;;;;8162:55:24::2;8171:10;-1:-1:-1::0;;;;;8162:55:24::2;-1:-1:-1::0;;;;;;;;;;;8187:4:24::2;8193:14;8209:7;8162:55;;;;;;;;;;;;;;;;;8246:10;-1:-1:-1::0;;;;;8232:40:24::2;-1:-1:-1::0;;;;;;;;;;;8258:4:24::2;8264:7;8232:40;;;;;;;;3873:1392:26::0;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;3940:8:26;::::1;548:16:39::0;3940:8:26::1;3932:36;;;;-1:-1:-1::0;;;3932:36:26::1;;;;;;;;;3997:10;3987:21;::::0;;;:9:::1;:21;::::0;;;;;::::1;;3986:22;3978:50;;;;-1:-1:-1::0;;;3978:50:26::1;;;;;;;;;4048:10;4038:21;::::0;;;:9:::1;:21;::::0;;;;:28;;-1:-1:-1;;4038:28:26::1;4062:4;4038:28;::::0;;:21;4100:36:::1;::::0;:24:::1;:36::i;:::-;4077:59;;4146:19;4168:35;4192:10;4168:23;:35::i;:::-;4146:57:::0;-1:-1:-1;4214:19:26::1;4251:16:::0;;4247:134:::1;;4297:73;4347:22;:20;:22::i;:::-;4297:27;::::0;:45:::1;::::0;4329:12;4297:45:::1;:31;:45;:::i;:::-;:49:::0;:73:::1;:49;:73;:::i;:::-;4283:87;;4247:134;4390:18;4426:15:::0;;4422:129:::1;;4470:70;4518:21;:19;:21::i;:::-;4470:26;::::0;:43:::1;::::0;4501:11;4470:43:::1;:30;:43;:::i;:70::-;4457:83;;4422:129;4591:27;::::0;:44:::1;::::0;4623:11;4591:44:::1;:31;:44;:::i;:::-;4561:27;:74:::0;4674:26:::1;::::0;:42:::1;::::0;4705:10;4674:42:::1;:30;:42;:::i;:::-;4645:26;:71;;;;4741:75;4757:58;4773:11;4786:28;;4757:15;:58::i;:::-;4741:11:::0;;:75:::1;:15;:75;:::i;:::-;4727:89;;4839:75;4854:59;4870:12;4884:28;;4854:15;:59::i;:::-;4839:10:::0;;:75:::1;:14;:75;:::i;:::-;4826:88;;4925:45;4947:10;4959;4925:21;:45::i;:::-;4980:47;5003:10;5015:11;4980:22;:47::i;:::-;5051:20;::::0;5038:64:::1;::::0;-1:-1:-1;;;5038:64:26;;-1:-1:-1;;;;;5051:20:26;;::::1;::::0;5038:39:::1;::::0;:64:::1;::::0;5078:10:::1;::::0;5090:11;;5038:64:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5125:21:26::1;::::0;5112:66:::1;::::0;-1:-1:-1;;;5112:66:26;;-1:-1:-1;;;;;5125:21:26;;::::1;::::0;-1:-1:-1;5112:40:26::1;::::0;-1:-1:-1;5112:66:26::1;::::0;5153:10:::1;::::0;5165:12;;5112:66:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5206:10;-1:-1:-1::0;;;;;5194:48:26::1;;5218:10;5230:11;5194:48;;;;;;;;;;;;;;;;5252:7;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3873:1392:26:o;1688:42:27:-;;;;:::o;1751:121:24:-;1806:7;1832:33;1846:10;1858:6;1832:13;:33::i;:::-;1825:40;1751:121;-1:-1:-1;;1751:121:24:o;3243:135:27:-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;9385:387:24;9445:17;9474:25;9502:22;:20;:22::i;:::-;9474:50;;9537:19;9560;:17;:19::i;:::-;9534:45;-1:-1:-1;;9593:22:24;9589:61;;9638:1;9631:8;;;;;;9589:61;9671:68;9721:17;9671:45;9704:11;9671:28;9696:2;9671:24;:28::i;:::-;:32;:45;:32;:45;:::i;:68::-;9659:80;9385:387;-1:-1:-1;;;;9385:387:24:o;2545:161:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2623:41:26::1;2645:10;2657:6:::0;2623:21:::1;:41::i;:::-;2674:25;2692:6;2674:17;:25::i;:::-;-1:-1:-1::0;585:9:39;:17;;-1:-1:-1;;;;585:17:39;;;2545:161:26:o;1202:27:27:-;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;2418:847:24:-;515:9:39;;2555:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1278:23:24;::::1;548:16:39::0;1278:23:24::1;1270:61;;;;-1:-1:-1::0;;;1270:61:24::1;;;;;;;;;2581:19:::2;2604;:17;:19::i;:::-;2578:45;;;2633:25;2661:22;:20;:22::i;:::-;2633:50:::0;-1:-1:-1;2711:6:24;2731:22;2727:252:::2;;2837:23;:6:::0;2848:11;2837:23:::2;:10;:23;:::i;:::-;2827:33;;2727:252;;;2881:15:::0;;2877:102:::2;;2922:46;2956:11:::0;2922:29:::2;:6:::0;2933:17;2922:29:::2;:10;:29;:::i;:46::-;2912:56;;2877:102;3011:41;3033:10;3045:6;3011:21;:41::i;:::-;3062:30;3080:2;3084:7;3062:17;:30::i;:::-;3132:27;::::0;:39:::2;::::0;3164:6;3132:39:::2;:31;:39;:::i;:::-;3102:27;:69:::0;3187:47:::2;::::0;-1:-1:-1;;;;;3187:47:24;::::2;::::0;3195:10:::2;::::0;3187:47:::2;::::0;::::2;::::0;3211:5:::2;::::0;3218:6;;3226:7;;3187:47:::2;;;;;;;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3251:7:24;2418:847;-1:-1:-1;;;;;2418:847:24:o;2808:1006:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2885:4:26::2;2874:15:::0;;-1:-1:-1;;;;;;;;2874:15:26;;::::2;-1:-1:-1::0;;;2874:15:26::2;2980:23:::0;;;2874:15;3040:21:::2;:19;:21::i;:::-;3013:48;;3071:25;3099:22;:20;:22::i;:::-;3071:50;;3154:27;;3136:15;;:45;3132:316;;;3197:18;3218:48;3238:27;;3218:15;;:19;;:48;;;;:::i;:::-;3197:69;;3311:50;3332:10;3344:16;3311:20;:50::i;:::-;3280:28;:81:::0;-1:-1:-1;3132:316:26::2;;;3422:15;::::0;3392:27:::2;:45:::0;3132:316:::2;3479:26;;3462:14;;:43;3458:309;;;3521:17;3541:46;3560:26;;3541:14;;:18;;:46;;;;:::i;:::-;3521:66;;3632:50;3653:9;3664:17;3632:20;:50::i;:::-;3601:28;:81:::0;-1:-1:-1;3458:309:26::2;;;3742:14;::::0;3713:26:::2;:43:::0;3458:309:::2;-1:-1:-1::0;;3777:10:26::2;:30:::0;;-1:-1:-1;;3777:30:26::2;::::0;;2808:1006::o;2055:41:27:-;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;2796:147;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:30;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;1036:29:27:-;;;;;;;;;:::o;5363:1175:24:-;515:9:39;;5494:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;5547:18:::2;5571:19;:17;:19::i;:::-;5546:44;;;5600:24;5627:21;:19;:21::i;:::-;5600:48;;5685:1;5666:16;:20;5658:43;;;;-1:-1:-1::0;;;5658:43:24::2;;;;;;;;;5712:26;5741:48;5778:10:::0;5741:28:::2;:6:::0;5752:16;5741:28:::2;:10;:28;:::i;:48::-;5712:77;;5842:35;5866:10;5842:23;:35::i;:::-;5820:18;:57;;5799:138;;;;-1:-1:-1::0;;;5799:138:24::2;;;;;;;;;6001:15;6019:30;6042:6;6019:22;:30::i;:::-;6001:48;;6078:6;6067:7;:17;;6059:44;;;;-1:-1:-1::0;;;6059:44:24::2;;;;;;;;;6165:26;::::0;:38:::2;::::0;6196:6;6165:38:::2;:30;:38;:::i;:::-;6136:26;:67:::0;6213:48:::2;6230:10;6242:18:::0;6213:16:::2;:48::i;:::-;6271:46;6293:2:::0;6297:19:::2;:6:::0;6308:7;6297:19:::2;:10;:19;:::i;6271:46::-;6327:25;6344:7;6327:16;:25::i;:::-;-1:-1:-1::0;;;;;6368:71:24;::::2;6377:10;-1:-1:-1::0;;;;;;;;;;;6393:4:24::2;6399:19;:6:::0;6410:7;6399:19:::2;:10;:19;:::i;:::-;6420:18;6368:71;;;;;;;;;;;;;;;;;6468:10;-1:-1:-1::0;;;;;6454:40:24::2;-1:-1:-1::0;;;;;;;;;;;6480:4:24::2;6486:7;6454:40;;;;;;;;9000:379:::0;9059:17;9088:24;9115:21;:19;:21::i;:::-;9088:48;;9147:18;9171:19;:17;:19::i;:::-;-1:-1:-1;9146:44:24;-1:-1:-1;9204:21:24;9200:60;;9248:1;9241:8;;;;;;9200:60;9281:65;9329:16;9281:43;9313:10;9281:27;9305:2;9281:23;:27::i;1071:35:27:-;;;;:::o;1002:28::-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;3271:831:24:-;515:9:39;;3406:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1403:22:24;::::1;548:16:39::0;1403:22:24::1;1395:59;;;;-1:-1:-1::0;;;1395:59:24::1;;;;;;;;;3430:18:::2;3454:19;:17;:19::i;:::-;3429:44;;;3483:24;3510:21;:19;:21::i;:::-;3483:48:::0;-1:-1:-1;3559:6:24;3579:21;3575:246:::2;;3683:22;:6:::0;3694:10;3683:22:::2;:10;:22;:::i;:::-;3673:32;;3575:246;;;3726:14:::0;;3722:99:::2;;3766:44;3799:10:::0;3766:28:::2;:6:::0;3777:16;3766:28:::2;:10;:28;:::i;:44::-;3756:54;;3722:99;3853:40;3874:10;3886:6;3853:20;:40::i;:::-;3903:29;3920:2;3924:7;3903:16;:29::i;:::-;3971:26;::::0;:38:::2;::::0;4002:6;3971:38:::2;:30;:38;:::i;:::-;3942:26;:67:::0;4025:46:::2;::::0;-1:-1:-1;;;;;4025:46:24;::::2;::::0;4033:10:::2;::::0;4025:46:::2;::::0;::::2;::::0;4049:4:::2;::::0;4055:6;;4063:7;;4025:46:::2;;1511:28:27::0;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;1641:41::-;;;;:::o;1878:125:24:-;1935:7;1961:35;1977:10;1989:6;1961:15;:35::i;1545:28:27:-;;;;:::o;5324:581:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;5415:12:26::1;::::0;-1:-1:-1;;;;;5406:21:26;;::::1;5415:12:::0;::::1;5406:21;5402:214;;;5517:14;::::0;:26:::1;::::0;5536:6;5517:26:::1;:18;:26;:::i;:::-;5475:12;::::0;5468:45:::1;::::0;-1:-1:-1;;;5468:45:26;;-1:-1:-1;;;;;5475:12:26;;::::1;::::0;5468:30:::1;::::0;:45:::1;::::0;5507:4:::1;::::0;5468:45:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;5443:162;;;;-1:-1:-1::0;;;5443:162:26::1;;;;;;;;;5638:13;::::0;-1:-1:-1;;;;;5629:22:26;;::::1;5638:13:::0;::::1;5629:22;5625:218;;;5742:15;::::0;:27:::1;::::0;5762:6;5742:27:::1;:19;:27;:::i;:::-;5699:13;::::0;5692:46:::1;::::0;-1:-1:-1;;;5692:46:26;;-1:-1:-1;;;;;5699:13:26;;::::1;::::0;5692:31:::1;::::0;:46:::1;::::0;5732:4:::1;::::0;5692:46:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:77;;5667:165;;;;-1:-1:-1::0;;;5667:165:26::1;;;;;;;;;5852:46;-1:-1:-1::0;;;;;5852:26:26;::::1;5879:10;5891:6:::0;5852:46:::1;:26;:46;:::i;:::-;5324:581:::0;;:::o;2251:109:24:-;2297:7;2323:30;2342:10;2323:18;:30::i;798:35:27:-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;2138:107:24:-;2183:7;2209:29;2227:10;2209:17;:29::i;1385:28:27:-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;1736:29::-;;;;:::o;1579:18::-;;;;:::o;2381:158:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2458:40:26::1;2479:10;2491:6:::0;2458:20:::1;:40::i;:::-;2508:24;2525:6;2508:16;:24::i;5504:799:25:-:0;5548:16;5577:18;5597:19;5620;:17;:19::i;:::-;5576:63;;-1:-1:-1;5576:63:25;-1:-1:-1;5667:23:25;5653:10;;;;:37;;;;;;;;;5649:648;;;5706:9;5718:134;5756:49;5789:15;;5756:28;5772:11;5756;:15;;:28;;;;:::i;:49::-;5823:15;;5718:20;:134::i;:::-;5706:146;;5870:53;5899:23;5915:3;;5920:1;5899:15;:23::i;:::-;5890:3;;5870:24;;379:6:36;;5870:24:25;:19;:24;:::i;:::-;:28;:53;:28;:53;:::i;:::-;5866:57;;5944:41;5965:16;:14;:16::i;:::-;5983:1;5944:20;:41::i;:::-;5937:48;;;;;;;5649:648;6016:9;6028:130;6066:46;6097:14;;6066:26;6081:10;6066;:14;;:26;;;;:::i;:46::-;6130:14;;6028:20;:130::i;:::-;6016:142;;6176:53;6205:23;6221:3;;6226:1;6205:15;:23::i;6176:53::-;6172:57;;6250:36;6266:16;:14;:16::i;:::-;6284:1;6250:15;:36::i;10748:963:24:-;10817:15;10862:14;;10852:6;:24;;10844:65;;;;-1:-1:-1;;;10844:65:24;;;;;;;;;10937:23;10923:10;;;;:37;;;;;;;;;10919:786;;;10976:18;10997:48;11017:27;;10997:15;;:19;;:48;;;;:::i;:::-;10976:69;;11059:13;11075:16;:14;:16::i;:::-;11059:32;;11105:18;11126:39;11147:10;11159:5;11126:20;:39::i;:::-;11105:60;;11179:18;11200:136;11259:14;;11291:3;;11312:10;11200:41;:136::i;:::-;11179:157;;11403:30;11436:148;11495:26;11514:6;11495:14;;:18;;:26;;;;:::i;737:220:37:-;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;2009:123:24:-;2065:7;2091:34;2106:10;2118:6;2091:14;:34::i;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;1622:123:24;1678:7;1704:34;1719:10;1731:6;1704:14;:34::i;4819:679:25:-;4932:15;;4969:14;;4869:18;;;;;4997:10;;;;:31;;;;;;;;;4993:499;;;5052:26;;5080:27;;5044:64;;;;;;;;4993:499;5143:23;5129:10;;;;:37;;;;;;;;;5125:367;;;5182:21;5206:18;:16;:18::i;:::-;5246:26;;5182:42;;-1:-1:-1;5274:20:25;:1;5182:42;5274:20;:5;:20;:::i;:::-;5238:57;;;;;;;;;5125:367;5330:23;5316:10;;;;:37;;;;;;;;;5312:180;;;5369:20;5392:18;:16;:18::i;:::-;5369:41;-1:-1:-1;5432:19:25;:1;5369:41;5432:19;:5;:19;:::i;:::-;5453:27;;5424:57;;;;;;;;;5312:180;4819:679;;;;;:::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;8806:137:24:-;8895:21;;8882:54;;-1:-1:-1;;;8882:54:24;;-1:-1:-1;;;;;8895:21:24;;;;8882:40;;:54;;8923:4;;8929:6;;8882:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8806:137;;:::o;1763:187:26:-;1849:13;;1842:46;;-1:-1:-1;;;;;1849:13:26;1877:2;1881:6;1842:46;:34;:46;:::i;:::-;1916:15;;:27;;1936:6;1916:27;:19;:27;:::i;:::-;1898:15;:45;-1:-1:-1;;1763:187:26:o;2201:174::-;2293:27;;:39;;2325:6;2293:39;:31;:39;:::i;:::-;2263:27;:69;2347:21;;;;;;2354:6;;2362:5;;2347:21;;;;;;;;;;2201:174;:::o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;;;;392:115;-1:-1:-1;;;392:115:36:o;3310:569:35:-;3448:10;3504:12;3519:62;3539:37;3574:1;3539:30;3555:1;3558:10;3539:15;:30::i;:37::-;3578:2;3519:19;:62::i;:::-;3504:77;-1:-1:-1;3598:53:35;:46;379:6:36;3598:25:35;3504:77;379:6:36;3598:25:35;:8;:25;:::i;:46::-;:51;:53::i;:::-;3591:60;-1:-1:-1;3661:15:35;3679:56;3699:25;3591:60;379:6:36;3699:25:35;:8;:25;:::i;:::-;3726:8;:1;3732;3726:8;:5;:8;:::i;:::-;3679:19;:56::i;:::-;3661:74;-1:-1:-1;3823:49:35;3839:2;3843:28;379:6:36;3661:74:35;3843:28;:19;:28;:::i;:::-;3823:15;:49::i;:::-;3816:56;3310:569;-1:-1:-1;;;;;;3310:569:35:o;1074:157:41:-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;281:217::-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;648:280;710:7;729:16;748:9;752:1;755;748:3;:9::i;:::-;729:28;-1:-1:-1;791:12:41;;;787:16;;817:13;;813:109;;-1:-1:-1;864:1:41;853:12;;-1:-1:-1;846:19:41;;813:109;-1:-1:-1;903:8:41;-1:-1:-1;896:15:41;;8665:135:24;8753:20;;8740:53;;-1:-1:-1;;;8740:53:24;;-1:-1:-1;;;;;8753:20:24;;;;8740:39;;:53;;8780:4;;8786:6;;8740:53;;;;1574:183:26;1659:12;;1652:45;;-1:-1:-1;;;;;1659:12:26;1686:2;1690:6;1652:45;:33;:45;:::i;:::-;1724:14;;:26;;1743:6;1724:26;:18;:26;:::i;:::-;1707:14;:43;-1:-1:-1;;1574:183:26:o;2025:170::-;2115:26;;:38;;2146:6;2115:38;:30;:38;:::i;:::-;2086:26;:67;2168:20;;;;;;2175:6;;2183:4;;2168:20;;504:138:41;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;1222:346:26;1354:21;;1323:15;;:27;;1343:6;1323:27;:19;:27;:::i;:::-;:52;;1302:127;;;;-1:-1:-1;;;1302:127:26;;;;;;;;;1446:13;;1439:67;;-1:-1:-1;;;;;1446:13:26;1478:4;1492;1499:6;1439:67;:38;:67;:::i;:::-;1534:15;;:27;;1554:6;1534:27;:19;:27;:::i;8522:137:24:-;8611:21;;8598:54;;-1:-1:-1;;;8598:54:24;;-1:-1:-1;;;;;8611:21:24;;;;8598:40;;:54;;8639:4;;8645:6;;8598:54;;;;645:123:36;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;911:305:26:-;1028:20;;998:14;;:26;;1017:6;998:26;:18;:26;:::i;:::-;:50;;990:90;;;;-1:-1:-1;;;990:90:26;;;;;;;;;1097:12;;1090:66;;-1:-1:-1;;;;;1097:12:26;1128:4;1142;1149:6;1090:66;:37;:66;:::i;:::-;1183:14;;:26;;1202:6;1183:26;:18;:26;:::i;8381:135:24:-;8469:20;;8456:53;;-1:-1:-1;;;8456:53:24;;-1:-1:-1;;;;;8469:20:24;;;;8456:39;;:53;;8496:4;;8502:6;;8456:53;;;;804:205:40;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;2736:578:25:-;2787:21;2927:17;2947:46;2966:26;;2947:14;;:18;;:46;;;;:::i;:::-;2927:66;;3003:13;3019:16;:14;:16::i;:::-;3003:32;;3045:18;3066:33;3082:9;3093:5;3066:15;:33::i;:::-;3045:54;;3109:22;3134:121;3189:15;;3218:3;;3235:10;3134:41;:121::i;:::-;3109:146;;3272:35;3291:15;;3272:14;:18;;:35;;;;:::i;:::-;3265:42;;;;;;2736:578;:::o;4180:582::-;4231:20;4370:18;4391:48;4411:27;;4391:15;;:19;;:48;;;;:::i;:::-;4370:69;;4449:13;4465:16;:14;:16::i;:::-;4449:32;;4491:18;4512:39;4533:10;4545:5;4512:20;:39::i;:::-;4491:60;;4561:21;4585:120;4640:14;;4668:3;;4685:10;4585:41;:120::i;:::-;4561:144;;4722:33;4740:14;;4722:13;:17;;:33;;;;:::i;774:126:36:-;841:7;867:26;891:1;867:15;:6;379;867:15;:10;:15;:::i;1237:198:41:-;1318:1;1326;1322;1318:5;;:9;1352:77;1363:1;1359;:5;1352:77;;;1384:1;1380:5;;1417:1;1412;1408;1404;:5;;;;;;:9;1403:15;;;;;;1399:19;;1352:77;;;1237:198;;;;:::o;1015:275:40:-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;1153:130;1015:275;;;;:::o;2335:1027::-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;5:130:-1;72:20;;-1:-1;;;;;25745:54;;26855:35;;26845:2;;26904:1;;26894:12;555:241;;659:2;647:9;638:7;634:23;630:32;627:2;;;-1:-1;;665:12;627:2;727:53;772:7;748:22;727:53;;803:366;;;924:2;912:9;903:7;899:23;895:32;892:2;;;-1:-1;;930:12;892:2;992:53;1037:7;1013:22;992:53;;;982:63;1082:2;1121:22;;;;344:20;;-1:-1;;;886:283;1176:257;;1288:2;1276:9;1267:7;1263:23;1259:32;1256:2;;;-1:-1;;1294:12;1256:2;223:6;217:13;27001:5;25518:13;25511:21;26979:5;26976:32;26966:2;;-1:-1;;27012:12;1440:241;;1544:2;1532:9;1523:7;1519:23;1515:32;1512:2;;;-1:-1;;1550:12;1512:2;-1:-1;344:20;;1506:175;-1:-1;1506:175;1688:263;;1803:2;1791:9;1782:7;1778:23;1774:32;1771:2;;;-1:-1;;1809:12;1771:2;-1:-1;492:13;;1765:186;-1:-1;1765:186;10963:271;;2498:5;24988:12;-1:-1;26481:101;26495:6;26492:1;26489:13;26481:101;;;2642:4;26562:11;;;;;26556:18;26543:11;;;26536:39;26510:10;26481:101;;;26597:6;26594:1;26591:13;26588:2;;;-1:-1;26653:6;26648:3;26644:16;26637:27;26588:2;-1:-1;2673:16;;;;;11097:137;-1:-1;;11097:137;11241:222;-1:-1;;;;;25745:54;;;;2178:37;;11368:2;11353:18;;11339:124;11470:349;-1:-1;;;;;25745:54;;;;2037:58;;11805:2;11790:18;;10914:37;11633:2;11618:18;;11604:215;11826:444;-1:-1;;;;;25745:54;;;2178:37;;25745:54;;;;12173:2;12158:18;;2178:37;12256:2;12241:18;;10914:37;;;;12009:2;11994:18;;11980:290;12617:210;25518:13;;25511:21;2292:34;;12738:2;12723:18;;12709:118;12834:321;25518:13;;25511:21;2292:34;;13141:2;13126:18;;10914:37;12983:2;12968:18;;12954:201;13162:432;25518:13;;25511:21;2292:34;;13497:2;13482:18;;10914:37;;;;13580:2;13565:18;;10914:37;13339:2;13324:18;;13310:284;13601:244;13739:2;13724:18;;26767:1;26757:12;;26747:2;;26773:9;26747:2;2783:61;;;13710:135;;13852:416;14052:2;14066:47;;;3081:2;14037:18;;;25286:19;3117:31;25326:14;;;3097:52;3168:12;;;14023:245;14275:416;14475:2;14489:47;;;3419:2;14460:18;;;25286:19;-1:-1;;;25326:14;;;3435:36;3490:12;;;14446:245;14698:416;14898:2;14912:47;;;3741:2;14883:18;;;25286:19;-1:-1;;;25326:14;;;3757:33;3809:12;;;14869:245;15121:416;15321:2;15335:47;;;4060:2;15306:18;;;25286:19;4096:26;25326:14;;;4076:47;4142:12;;;15292:245;15544:416;15744:2;15758:47;;;4393:2;15729:18;;;25286:19;4429:27;25326:14;;;4409:48;4476:12;;;15715:245;15967:416;16167:2;16181:47;;;4727:1;16152:18;;;25286:19;-1:-1;;;25326:14;;;4742:32;4793:12;;;16138:245;16390:416;16590:2;16604:47;;;5044:2;16575:18;;;25286:19;-1:-1;;;25326:14;;;5060:34;5113:12;;;16561:245;16813:416;17013:2;17027:47;;;5364:2;16998:18;;;25286:19;5400:30;25326:14;;;5380:51;5450:12;;;16984:245;17236:416;17436:2;17450:47;;;17421:18;;;25286:19;5737:34;25326:14;;;5717:55;5791:12;;;17407:245;17659:416;17859:2;17873:47;;;6042:2;17844:18;;;25286:19;-1:-1;;;25326:14;;;6058:37;6114:12;;;17830:245;18082:416;18282:2;18296:47;;;6365:2;18267:18;;;25286:19;6401:34;25326:14;;;6381:55;-1:-1;;;6456:12;;;6449:27;6495:12;;;18253:245;18505:416;18705:2;18719:47;;;6746:2;18690:18;;;25286:19;6782:29;25326:14;;;6762:50;6831:12;;;18676:245;18928:416;19128:2;19142:47;;;7082:1;19113:18;;;25286:19;-1:-1;;;25326:14;;;7097:32;7148:12;;;19099:245;19351:416;19551:2;19565:47;;;7399:2;19536:18;;;25286:19;7435:30;25326:14;;;7415:51;7485:12;;;19522:245;19774:416;19974:2;19988:47;;;7736:2;19959:18;;;25286:19;-1:-1;;;25326:14;;;7752:36;7807:12;;;19945:245;20197:416;20397:2;20411:47;;;8058:2;20382:18;;;25286:19;-1:-1;;;25326:14;;;8074:37;8130:12;;;20368:245;20620:416;20820:2;20834:47;;;8381:2;20805:18;;;25286:19;-1:-1;;;25326:14;;;8397:34;8450:12;;;20791:245;21043:416;21243:2;21257:47;;;8701:1;21228:18;;;25286:19;-1:-1;;;25326:14;;;8716:32;8767:12;;;21214:245;21466:416;21666:2;21680:47;;;9018:1;21651:18;;;25286:19;-1:-1;;;25326:14;;;9033:32;9084:12;;;21637:245;21889:416;22089:2;22103:47;;;9335:2;22074:18;;;25286:19;9371:34;25326:14;;;9351:55;-1:-1;;;9426:12;;;9419:34;9472:12;;;22060:245;22312:416;22512:2;22526:47;;;9723:2;22497:18;;;25286:19;9759:34;25326:14;;;9739:55;-1:-1;;;9814:12;;;9807:26;9852:12;;;22483:245;22735:416;22935:2;22949:47;;;10103:1;22920:18;;;25286:19;-1:-1;;;25326:14;;;10118:32;10169:12;;;22906:245;23158:416;23358:2;23372:47;;;10420:2;23343:18;;;25286:19;-1:-1;;;25326:14;;;10436:38;10493:12;;;23329:245;23581:416;23781:2;23795:47;;;10744:2;23766:18;;;25286:19;-1:-1;;;25326:14;;;10760:38;10817:12;;;23752:245;24004:222;10914:37;;;24131:2;24116:18;;24102:124;24233:321;10914:37;;;25518:13;25511:21;24540:2;24525:18;;2292:34;24382:2;24367:18;;24353:201;24561:333;10914:37;;;24880:2;24865:18;;10914:37;24716:2;24701:18;;24687:207", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {DODOMath} from \"../lib/DODOMath.sol\";\nimport {Types} from \"../lib/Types.sol\";\nimport {IDODOLpToken} from \"../intf/IDODOLpToken.sol\";\nimport {Storage} from \"./Storage.sol\";\nimport {Settlement} from \"./Settlement.sol\";\nimport {Pricing} from \"./Pricing.sol\";\n\n\n/**\n * @title LiquidityProvider\n * @author DODO Breeder\n *\n * @notice Functions for liquidity provider operations\n */\ncontract LiquidityProvider is Storage, Pricing, Settlement {\n using SafeMath for uint256;\n\n // ============ Events ============\n\n event Deposit(\n address indexed payer,\n address indexed receiver,\n bool isBaseToken,\n uint256 amount,\n uint256 lpTokenAmount\n );\n\n event Withdraw(\n address indexed payer,\n address indexed receiver,\n bool isBaseToken,\n uint256 amount,\n uint256 lpTokenAmount\n );\n\n event ChargePenalty(address indexed payer, bool isBaseToken, uint256 amount);\n\n // ============ Modifiers ============\n\n modifier depositQuoteAllowed() {\n require(_DEPOSIT_QUOTE_ALLOWED_, \"DEPOSIT_QUOTE_NOT_ALLOWED\");\n _;\n }\n\n modifier depositBaseAllowed() {\n require(_DEPOSIT_BASE_ALLOWED_, \"DEPOSIT_BASE_NOT_ALLOWED\");\n _;\n }\n\n modifier dodoNotClosed() {\n require(!_CLOSED_, \"DODO_CLOSED\");\n _;\n }\n\n // ============ Routine Functions ============\n\n function withdrawBase(uint256 amount) external returns (uint256) {\n return withdrawBaseTo(msg.sender, amount);\n }\n\n function depositBase(uint256 amount) external returns (uint256) {\n return depositBaseTo(msg.sender, amount);\n }\n\n function withdrawQuote(uint256 amount) external returns (uint256) {\n return withdrawQuoteTo(msg.sender, amount);\n }\n\n function depositQuote(uint256 amount) external returns (uint256) {\n return depositQuoteTo(msg.sender, amount);\n }\n\n function withdrawAllBase() external returns (uint256) {\n return withdrawAllBaseTo(msg.sender);\n }\n\n function withdrawAllQuote() external returns (uint256) {\n return withdrawAllQuoteTo(msg.sender);\n }\n\n // ============ Deposit Functions ============\n\n function depositQuoteTo(address to, uint256 amount)\n public\n preventReentrant\n depositQuoteAllowed\n returns (uint256)\n {\n (, uint256 quoteTarget) = getExpectedTarget();\n uint256 totalQuoteCapital = getTotalQuoteCapital();\n uint256 capital = amount;\n if (totalQuoteCapital == 0) {\n // give remaining quote token to lp as a gift\n capital = amount.add(quoteTarget);\n } else if (quoteTarget > 0) {\n capital = amount.mul(totalQuoteCapital).div(quoteTarget);\n }\n\n // settlement\n _quoteTokenTransferIn(msg.sender, amount);\n _mintQuoteCapital(to, capital);\n _TARGET_QUOTE_TOKEN_AMOUNT_ = _TARGET_QUOTE_TOKEN_AMOUNT_.add(amount);\n\n emit Deposit(msg.sender, to, false, amount, capital);\n return capital;\n }\n\n function depositBaseTo(address to, uint256 amount)\n public\n preventReentrant\n depositBaseAllowed\n returns (uint256)\n {\n (uint256 baseTarget, ) = getExpectedTarget();\n uint256 totalBaseCapital = getTotalBaseCapital();\n uint256 capital = amount;\n if (totalBaseCapital == 0) {\n // give remaining base token to lp as a gift\n capital = amount.add(baseTarget);\n } else if (baseTarget > 0) {\n capital = amount.mul(totalBaseCapital).div(baseTarget);\n }\n\n // settlement\n _baseTokenTransferIn(msg.sender, amount);\n _mintBaseCapital(to, capital);\n _TARGET_BASE_TOKEN_AMOUNT_ = _TARGET_BASE_TOKEN_AMOUNT_.add(amount);\n\n emit Deposit(msg.sender, to, true, amount, capital);\n return capital;\n }\n\n // ============ Withdraw Functions ============\n\n function withdrawQuoteTo(address to, uint256 amount)\n public\n preventReentrant\n dodoNotClosed\n returns (uint256)\n {\n // calculate capital\n (, uint256 quoteTarget) = getExpectedTarget();\n uint256 totalQuoteCapital = getTotalQuoteCapital();\n require(totalQuoteCapital > 0, \"NO_QUOTE_LP\");\n\n uint256 requireQuoteCapital = amount.mul(totalQuoteCapital).divCeil(quoteTarget);\n require(\n requireQuoteCapital <= getQuoteCapitalBalanceOf(msg.sender),\n \"LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH\"\n );\n\n // handle penalty, penalty may exceed amount\n uint256 penalty = getWithdrawQuotePenalty(amount);\n require(penalty < amount, \"PENALTY_EXCEED\");\n\n // settlement\n _TARGET_QUOTE_TOKEN_AMOUNT_ = _TARGET_QUOTE_TOKEN_AMOUNT_.sub(amount);\n _burnQuoteCapital(msg.sender, requireQuoteCapital);\n _quoteTokenTransferOut(to, amount.sub(penalty));\n _donateQuoteToken(penalty);\n\n emit Withdraw(msg.sender, to, false, amount.sub(penalty), requireQuoteCapital);\n emit ChargePenalty(msg.sender, false, penalty);\n\n return amount.sub(penalty);\n }\n\n function withdrawBaseTo(address to, uint256 amount)\n public\n preventReentrant\n dodoNotClosed\n returns (uint256)\n {\n // calculate capital\n (uint256 baseTarget, ) = getExpectedTarget();\n uint256 totalBaseCapital = getTotalBaseCapital();\n require(totalBaseCapital > 0, \"NO_BASE_LP\");\n\n uint256 requireBaseCapital = amount.mul(totalBaseCapital).divCeil(baseTarget);\n require(\n requireBaseCapital <= getBaseCapitalBalanceOf(msg.sender),\n \"LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH\"\n );\n\n // handle penalty, penalty may exceed amount\n uint256 penalty = getWithdrawBasePenalty(amount);\n require(penalty <= amount, \"PENALTY_EXCEED\");\n\n // settlement\n _TARGET_BASE_TOKEN_AMOUNT_ = _TARGET_BASE_TOKEN_AMOUNT_.sub(amount);\n _burnBaseCapital(msg.sender, requireBaseCapital);\n _baseTokenTransferOut(to, amount.sub(penalty));\n _donateBaseToken(penalty);\n\n emit Withdraw(msg.sender, to, true, amount.sub(penalty), requireBaseCapital);\n emit ChargePenalty(msg.sender, true, penalty);\n\n return amount.sub(penalty);\n }\n\n // ============ Withdraw all Functions ============\n\n function withdrawAllQuoteTo(address to)\n public\n preventReentrant\n dodoNotClosed\n returns (uint256)\n {\n uint256 withdrawAmount = getLpQuoteBalance(msg.sender);\n uint256 capital = getQuoteCapitalBalanceOf(msg.sender);\n\n // handle penalty, penalty may exceed amount\n uint256 penalty = getWithdrawQuotePenalty(withdrawAmount);\n require(penalty <= withdrawAmount, \"PENALTY_EXCEED\");\n\n // settlement\n _TARGET_QUOTE_TOKEN_AMOUNT_ = _TARGET_QUOTE_TOKEN_AMOUNT_.sub(withdrawAmount);\n _burnQuoteCapital(msg.sender, capital);\n _quoteTokenTransferOut(to, withdrawAmount.sub(penalty));\n _donateQuoteToken(penalty);\n\n emit Withdraw(msg.sender, to, false, withdrawAmount, capital);\n emit ChargePenalty(msg.sender, false, penalty);\n\n return withdrawAmount.sub(penalty);\n }\n\n function withdrawAllBaseTo(address to) public preventReentrant dodoNotClosed returns (uint256) {\n uint256 withdrawAmount = getLpBaseBalance(msg.sender);\n uint256 capital = getBaseCapitalBalanceOf(msg.sender);\n\n // handle penalty, penalty may exceed amount\n uint256 penalty = getWithdrawBasePenalty(withdrawAmount);\n require(penalty <= withdrawAmount, \"PENALTY_EXCEED\");\n\n // settlement\n _TARGET_BASE_TOKEN_AMOUNT_ = _TARGET_BASE_TOKEN_AMOUNT_.sub(withdrawAmount);\n _burnBaseCapital(msg.sender, capital);\n _baseTokenTransferOut(to, withdrawAmount.sub(penalty));\n _donateBaseToken(penalty);\n\n emit Withdraw(msg.sender, to, true, withdrawAmount, capital);\n emit ChargePenalty(msg.sender, true, penalty);\n\n return withdrawAmount.sub(penalty);\n }\n\n // ============ Helper Functions ============\n\n function _mintBaseCapital(address user, uint256 amount) internal {\n IDODOLpToken(_BASE_CAPITAL_TOKEN_).mint(user, amount);\n }\n\n function _mintQuoteCapital(address user, uint256 amount) internal {\n IDODOLpToken(_QUOTE_CAPITAL_TOKEN_).mint(user, amount);\n }\n\n function _burnBaseCapital(address user, uint256 amount) internal {\n IDODOLpToken(_BASE_CAPITAL_TOKEN_).burn(user, amount);\n }\n\n function _burnQuoteCapital(address user, uint256 amount) internal {\n IDODOLpToken(_QUOTE_CAPITAL_TOKEN_).burn(user, amount);\n }\n\n // ============ Getter Functions ============\n\n function getLpBaseBalance(address lp) public view returns (uint256 lpBalance) {\n uint256 totalBaseCapital = getTotalBaseCapital();\n (uint256 baseTarget, ) = getExpectedTarget();\n if (totalBaseCapital == 0) {\n return 0;\n }\n lpBalance = getBaseCapitalBalanceOf(lp).mul(baseTarget).div(totalBaseCapital);\n return lpBalance;\n }\n\n function getLpQuoteBalance(address lp) public view returns (uint256 lpBalance) {\n uint256 totalQuoteCapital = getTotalQuoteCapital();\n (, uint256 quoteTarget) = getExpectedTarget();\n if (totalQuoteCapital == 0) {\n return 0;\n }\n lpBalance = getQuoteCapitalBalanceOf(lp).mul(quoteTarget).div(totalQuoteCapital);\n return lpBalance;\n }\n\n function getWithdrawQuotePenalty(uint256 amount) public view returns (uint256 penalty) {\n require(amount <= _QUOTE_BALANCE_, \"DODO_QUOTE_BALANCE_NOT_ENOUGH\");\n if (_R_STATUS_ == Types.RStatus.BELOW_ONE) {\n uint256 spareBase = _BASE_BALANCE_.sub(_TARGET_BASE_TOKEN_AMOUNT_);\n uint256 price = getOraclePrice();\n uint256 fairAmount = DecimalMath.mul(spareBase, price);\n uint256 targetQuote = DODOMath._SolveQuadraticFunctionForTarget(\n _QUOTE_BALANCE_,\n _K_,\n fairAmount\n );\n // if amount = _QUOTE_BALANCE_, div error\n uint256 targetQuoteWithWithdraw = DODOMath._SolveQuadraticFunctionForTarget(\n _QUOTE_BALANCE_.sub(amount),\n _K_,\n fairAmount\n );\n return targetQuote.sub(targetQuoteWithWithdraw.add(amount));\n } else {\n return 0;\n }\n }\n\n function getWithdrawBasePenalty(uint256 amount) public view returns (uint256 penalty) {\n require(amount <= _BASE_BALANCE_, \"DODO_BASE_BALANCE_NOT_ENOUGH\");\n if (_R_STATUS_ == Types.RStatus.ABOVE_ONE) {\n uint256 spareQuote = _QUOTE_BALANCE_.sub(_TARGET_QUOTE_TOKEN_AMOUNT_);\n uint256 price = getOraclePrice();\n uint256 fairAmount = DecimalMath.divFloor(spareQuote, price);\n uint256 targetBase = DODOMath._SolveQuadraticFunctionForTarget(\n _BASE_BALANCE_,\n _K_,\n fairAmount\n );\n // if amount = _BASE_BALANCE_, div error\n uint256 targetBaseWithWithdraw = DODOMath._SolveQuadraticFunctionForTarget(\n _BASE_BALANCE_.sub(amount),\n _K_,\n fairAmount\n );\n return targetBase.sub(targetBaseWithWithdraw.add(amount));\n } else {\n return 0;\n }\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol", - "exportedSymbols": { - "LiquidityProvider": [ - 8369 - ] - }, - "id": 8370, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7349, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:24" - }, - { - "id": 7350, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:24" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 7352, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 11624, - "src": "136:45:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7351, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 7354, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 11079, - "src": "182:51:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7353, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "file": "../lib/DODOMath.sol", - "id": 7356, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 10993, - "src": "234:45:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7355, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:8:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 7358, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 11632, - "src": "280:39:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7357, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "288:5:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "file": "../intf/IDODOLpToken.sol", - "id": 7360, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 10537, - "src": "320:54:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7359, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "328:12:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 7362, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 9614, - "src": "375:38:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7361, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "383:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "file": "./Settlement.sol", - "id": 7364, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 9397, - "src": "414:44:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7363, - "name": "Settlement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "422:10:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "file": "./Pricing.sol", - "id": 7366, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 8854, - "src": "459:38:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7365, - "name": "Pricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "467:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7368, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "648:7:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 7369, - "nodeType": "InheritanceSpecifier", - "src": "648:7:24" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7370, - "name": "Pricing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8853, - "src": "657:7:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pricing_$8853", - "typeString": "contract Pricing" - } - }, - "id": 7371, - "nodeType": "InheritanceSpecifier", - "src": "657:7:24" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7372, - "name": "Settlement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9396, - "src": "666:10:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - }, - "id": 7373, - "nodeType": "InheritanceSpecifier", - "src": "666:10:24" - } - ], - "contractDependencies": [ - 8853, - 9396, - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 7367, - "nodeType": "StructuredDocumentation", - "src": "500:117:24", - "text": " @title LiquidityProvider\n @author DODO Breeder\n @notice Functions for liquidity provider operations" - }, - "fullyImplemented": true, - "id": 8369, - "linearizedBaseContracts": [ - 8369, - 9396, - 8853, - 9613, - 11296, - 11166 - ], - "name": "LiquidityProvider", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7376, - "libraryName": { - "contractScope": null, - "id": 7374, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "689:8:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "683:27:24", - "typeName": { - "id": 7375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 7388, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 7387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7378, - "indexed": true, - "mutability": "mutable", - "name": "payer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "780:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "780:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7380, - "indexed": true, - "mutability": "mutable", - "name": "receiver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "811:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7382, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "845:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7381, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "845:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7384, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "871:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "871:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7386, - "indexed": false, - "mutability": "mutable", - "name": "lpTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "895:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7385, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "895:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "770:152:24" - }, - "src": "757:166:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 7400, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 7399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7390, - "indexed": true, - "mutability": "mutable", - "name": "payer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "953:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "953:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7392, - "indexed": true, - "mutability": "mutable", - "name": "receiver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "984:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "984:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7394, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "1018:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7393, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1018:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7396, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "1044:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1044:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7398, - "indexed": false, - "mutability": "mutable", - "name": "lpTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "1068:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1068:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "943:152:24" - }, - "src": "929:167:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 7408, - "name": "ChargePenalty", - "nodeType": "EventDefinition", - "parameters": { - "id": 7407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7402, - "indexed": true, - "mutability": "mutable", - "name": "payer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7408, - "src": "1122:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1122:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7404, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7408, - "src": "1145:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7403, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1145:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7406, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7408, - "src": "1163:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1163:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:57:24" - }, - "src": "1102:77:24" - }, - { - "body": { - "id": 7416, - "nodeType": "Block", - "src": "1260:89:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7411, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "1278:23:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4445504f5349545f51554f54455f4e4f545f414c4c4f574544", - "id": 7412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1303:27:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f8ca46e1665f66396f293f9a520e0b7eba90c16ed34c9b5d30b4532a06b94ae", - "typeString": "literal_string \"DEPOSIT_QUOTE_NOT_ALLOWED\"" - }, - "value": "DEPOSIT_QUOTE_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f8ca46e1665f66396f293f9a520e0b7eba90c16ed34c9b5d30b4532a06b94ae", - "typeString": "literal_string \"DEPOSIT_QUOTE_NOT_ALLOWED\"" - } - ], - "id": 7410, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1270:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1270:61:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7414, - "nodeType": "ExpressionStatement", - "src": "1270:61:24" - }, - { - "id": 7415, - "nodeType": "PlaceholderStatement", - "src": "1341:1:24" - } - ] - }, - "documentation": null, - "id": 7417, - "name": "depositQuoteAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7409, - "nodeType": "ParameterList", - "parameters": [], - "src": "1257:2:24" - }, - "src": "1229:120:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7425, - "nodeType": "Block", - "src": "1385:87:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7420, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "1403:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4445504f5349545f424153455f4e4f545f414c4c4f574544", - "id": 7421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1427:26:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2e520f2f988e5e849fb2744d0cdabd1103964b7b504d67387f2f6654882bc899", - "typeString": "literal_string \"DEPOSIT_BASE_NOT_ALLOWED\"" - }, - "value": "DEPOSIT_BASE_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2e520f2f988e5e849fb2744d0cdabd1103964b7b504d67387f2f6654882bc899", - "typeString": "literal_string \"DEPOSIT_BASE_NOT_ALLOWED\"" - } - ], - "id": 7419, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1395:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1395:59:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7423, - "nodeType": "ExpressionStatement", - "src": "1395:59:24" - }, - { - "id": 7424, - "nodeType": "PlaceholderStatement", - "src": "1464:1:24" - } - ] - }, - "documentation": null, - "id": 7426, - "name": "depositBaseAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7418, - "nodeType": "ParameterList", - "parameters": [], - "src": "1382:2:24" - }, - "src": "1355:117:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7435, - "nodeType": "Block", - "src": "1503:61:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1521:9:24", - "subExpression": { - "argumentTypes": null, - "id": 7429, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "1522:8:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f434c4f534544", - "id": 7431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1532:13:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - }, - "value": "DODO_CLOSED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - } - ], - "id": 7428, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1513:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1513:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7433, - "nodeType": "ExpressionStatement", - "src": "1513:33:24" - }, - { - "id": 7434, - "nodeType": "PlaceholderStatement", - "src": "1556:1:24" - } - ] - }, - "documentation": null, - "id": 7436, - "name": "dodoNotClosed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [], - "src": "1500:2:24" - }, - "src": "1478:86:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7449, - "nodeType": "Block", - "src": "1687:58:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7444, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1719:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1719:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7446, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "1731:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7443, - "name": "withdrawBaseTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7908, - "src": "1704:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7442, - "id": 7448, - "nodeType": "Return", - "src": "1697:41:24" - } - ] - }, - "documentation": null, - "functionSelector": "f98bea15", - "id": 7450, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7438, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7450, - "src": "1644:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1644:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1643:16:24" - }, - "returnParameters": { - "id": 7442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7441, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7450, - "src": "1678:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7440, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1677:9:24" - }, - "scope": 8369, - "src": "1622:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7463, - "nodeType": "Block", - "src": "1815:57:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7458, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1846:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1846:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7460, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7452, - "src": "1858:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7457, - "name": "depositBaseTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7682, - "src": "1832:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1832:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7456, - "id": 7462, - "nodeType": "Return", - "src": "1825:40:24" - } - ] - }, - "documentation": null, - "functionSelector": "27bed8ee", - "id": 7464, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "depositBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7452, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7464, - "src": "1772:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1772:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1771:16:24" - }, - "returnParameters": { - "id": 7456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7455, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7464, - "src": "1806:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1806:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1805:9:24" - }, - "scope": 8369, - "src": "1751:121:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7477, - "nodeType": "Block", - "src": "1944:59:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7472, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1977:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1977:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7474, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7466, - "src": "1989:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7471, - "name": "withdrawQuoteTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7795, - "src": "1961:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1961:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7470, - "id": 7476, - "nodeType": "Return", - "src": "1954:42:24" - } - ] - }, - "documentation": null, - "functionSelector": "c0a5f6ff", - "id": 7478, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7466, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7478, - "src": "1901:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1901:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1900:16:24" - }, - "returnParameters": { - "id": 7470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7469, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7478, - "src": "1935:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1934:9:24" - }, - "scope": 8369, - "src": "1878:125:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7491, - "nodeType": "Block", - "src": "2074:58:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7486, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2106:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2106:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7488, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7480, - "src": "2118:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7485, - "name": "depositQuoteTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7598, - "src": "2091:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2091:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7484, - "id": 7490, - "nodeType": "Return", - "src": "2084:41:24" - } - ] - }, - "documentation": null, - "functionSelector": "f3ae6c5f", - "id": 7492, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "depositQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7480, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7492, - "src": "2031:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2031:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2030:16:24" - }, - "returnParameters": { - "id": 7484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7483, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7492, - "src": "2065:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2065:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2064:9:24" - }, - "scope": 8369, - "src": "2009:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7502, - "nodeType": "Block", - "src": "2192:53:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7498, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2227:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2227:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7497, - "name": "withdrawAllBaseTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8078, - "src": "2209:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 7500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2209:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7496, - "id": 7501, - "nodeType": "Return", - "src": "2202:36:24" - } - ] - }, - "documentation": null, - "functionSelector": "d47eaa37", - "id": 7503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawAllBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7493, - "nodeType": "ParameterList", - "parameters": [], - "src": "2162:2:24" - }, - "returnParameters": { - "id": 7496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7503, - "src": "2183:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2182:9:24" - }, - "scope": 8369, - "src": "2138:107:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7513, - "nodeType": "Block", - "src": "2306:54:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7509, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2342:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2342:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7508, - "name": "withdrawAllQuoteTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7993, - "src": "2323:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2323:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7507, - "id": 7512, - "nodeType": "Return", - "src": "2316:37:24" - } - ] - }, - "documentation": null, - "functionSelector": "c59203af", - "id": 7514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawAllQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7504, - "nodeType": "ParameterList", - "parameters": [], - "src": "2276:2:24" - }, - "returnParameters": { - "id": 7507, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7506, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7514, - "src": "2297:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2297:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2296:9:24" - }, - "scope": 8369, - "src": "2251:109:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7597, - "nodeType": "Block", - "src": "2568:697:24", - "statements": [ - { - "assignments": [ - null, - 7528 - ], - "declarations": [ - null, - { - "constant": false, - "id": 7528, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2581:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2581:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7531, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7529, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "2604:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2604:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2578:45:24" - }, - { - "assignments": [ - 7533 - ], - "declarations": [ - { - "constant": false, - "id": 7533, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2633:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2633:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7536, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7534, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "2661:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2661:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2633:50:24" - }, - { - "assignments": [ - 7538 - ], - "declarations": [ - { - "constant": false, - "id": 7538, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2693:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2693:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7540, - "initialValue": { - "argumentTypes": null, - "id": 7539, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "2711:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2693:24:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7541, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7533, - "src": "2731:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2752:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2731:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7552, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "2881:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2895:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2881:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7566, - "nodeType": "IfStatement", - "src": "2877:102:24", - "trueBody": { - "id": 7565, - "nodeType": "Block", - "src": "2898:81:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7555, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "2912:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7561, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "2956:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7558, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7533, - "src": "2933:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7556, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "2922:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2922:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2922:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "2922:33:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2922:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2912:56:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7564, - "nodeType": "ExpressionStatement", - "src": "2912:56:24" - } - ] - } - }, - "id": 7567, - "nodeType": "IfStatement", - "src": "2727:252:24", - "trueBody": { - "id": 7551, - "nodeType": "Block", - "src": "2755:116:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7544, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "2827:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7547, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "2848:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7545, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "2837:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2837:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2837:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2827:33:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7550, - "nodeType": "ExpressionStatement", - "src": "2827:33:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7569, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3033:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3033:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7571, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "3045:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7568, - "name": "_quoteTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8967, - "src": "3011:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3011:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7573, - "nodeType": "ExpressionStatement", - "src": "3011:41:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7575, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "3080:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7576, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "3084:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7574, - "name": "_mintQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8110, - "src": "3062:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3062:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7578, - "nodeType": "ExpressionStatement", - "src": "3062:30:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7579, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3102:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7582, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "3164:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7580, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3132:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3132:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3132:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3102:69:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7585, - "nodeType": "ExpressionStatement", - "src": "3102:69:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7587, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3195:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3195:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7589, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "3207:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3211:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7591, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "3218:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7592, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "3226:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7586, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "3187:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:47:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7594, - "nodeType": "EmitStatement", - "src": "3182:52:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7595, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "3251:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7526, - "id": 7596, - "nodeType": "Return", - "src": "3244:14:24" - } - ] - }, - "documentation": null, - "functionSelector": "5f179f64", - "id": 7598, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7521, - "modifierName": { - "argumentTypes": null, - "id": 7520, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2493:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2493:16:24" - }, - { - "arguments": null, - "id": 7523, - "modifierName": { - "argumentTypes": null, - "id": 7522, - "name": "depositQuoteAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7417, - "src": "2518:19:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2518:19:24" - } - ], - "name": "depositQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7516, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7598, - "src": "2442:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2442:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7518, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7598, - "src": "2454:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2454:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2441:28:24" - }, - "returnParameters": { - "id": 7526, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7525, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7598, - "src": "2555:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2555:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2554:9:24" - }, - "scope": 8369, - "src": "2418:847:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7681, - "nodeType": "Block", - "src": "3419:683:24", - "statements": [ - { - "assignments": [ - 7612, - null - ], - "declarations": [ - { - "constant": false, - "id": 7612, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3430:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3430:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 7615, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7613, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "3454:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3454:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3429:44:24" - }, - { - "assignments": [ - 7617 - ], - "declarations": [ - { - "constant": false, - "id": 7617, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3483:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3483:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7620, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7618, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "3510:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3510:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3483:48:24" - }, - { - "assignments": [ - 7622 - ], - "declarations": [ - { - "constant": false, - "id": 7622, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3541:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3541:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7624, - "initialValue": { - "argumentTypes": null, - "id": 7623, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3559:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3541:24:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7625, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "3579:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3599:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3579:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7636, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "3726:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3739:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3726:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7650, - "nodeType": "IfStatement", - "src": "3722:99:24", - "trueBody": { - "id": 7649, - "nodeType": "Block", - "src": "3742:79:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7639, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3756:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7645, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "3799:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7642, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "3777:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7640, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3766:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3766:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3766:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3766:32:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3766:44:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3756:54:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7648, - "nodeType": "ExpressionStatement", - "src": "3756:54:24" - } - ] - } - }, - "id": 7651, - "nodeType": "IfStatement", - "src": "3575:246:24", - "trueBody": { - "id": 7635, - "nodeType": "Block", - "src": "3602:114:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7628, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3673:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7631, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "3694:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7629, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3683:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3683:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3683:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3673:32:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7634, - "nodeType": "ExpressionStatement", - "src": "3673:32:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7653, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3874:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3874:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7655, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3886:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7652, - "name": "_baseTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "3853:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3853:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7657, - "nodeType": "ExpressionStatement", - "src": "3853:40:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7659, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7600, - "src": "3920:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7660, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3924:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7658, - "name": "_mintBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8094, - "src": "3903:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3903:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7662, - "nodeType": "ExpressionStatement", - "src": "3903:29:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7663, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3942:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7666, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "4002:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7664, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3971:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3971:30:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3971:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3942:67:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7669, - "nodeType": "ExpressionStatement", - "src": "3942:67:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7671, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4033:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4033:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7673, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7600, - "src": "4045:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4049:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7675, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "4055:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7676, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "4063:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7670, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "4025:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4025:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7678, - "nodeType": "EmitStatement", - "src": "4020:51:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7679, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "4088:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7610, - "id": 7680, - "nodeType": "Return", - "src": "4081:14:24" - } - ] - }, - "documentation": null, - "functionSelector": "aa06ce9b", - "id": 7682, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7605, - "modifierName": { - "argumentTypes": null, - "id": 7604, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3345:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3345:16:24" - }, - { - "arguments": null, - "id": 7607, - "modifierName": { - "argumentTypes": null, - "id": 7606, - "name": "depositBaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7426, - "src": "3370:18:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3370:18:24" - } - ], - "name": "depositBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7600, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7682, - "src": "3294:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3294:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7602, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7682, - "src": "3306:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3306:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3293:28:24" - }, - "returnParameters": { - "id": 7610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7609, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7682, - "src": "3406:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3406:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3405:9:24" - }, - "scope": 8369, - "src": "3271:831:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7794, - "nodeType": "Block", - "src": "4306:1051:24", - "statements": [ - { - "assignments": [ - null, - 7696 - ], - "declarations": [ - null, - { - "constant": false, - "id": 7696, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4348:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4348:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7699, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7697, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "4371:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4371:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4345:45:24" - }, - { - "assignments": [ - 7701 - ], - "declarations": [ - { - "constant": false, - "id": 7701, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4400:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4400:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7704, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7702, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "4428:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4428:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4400:50:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7706, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4468:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4488:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4468:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f5f51554f54455f4c50", - "id": 7709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4491:13:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45201781226c6ef295dd5fc256e793e26359d1272043d931959202cf3772a527", - "typeString": "literal_string \"NO_QUOTE_LP\"" - }, - "value": "NO_QUOTE_LP" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45201781226c6ef295dd5fc256e793e26359d1272043d931959202cf3772a527", - "typeString": "literal_string \"NO_QUOTE_LP\"" - } - ], - "id": 7705, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4460:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4460:45:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7711, - "nodeType": "ExpressionStatement", - "src": "4460:45:24" - }, - { - "assignments": [ - 7713 - ], - "declarations": [ - { - "constant": false, - "id": 7713, - "mutability": "mutable", - "name": "requireQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4516:27:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4516:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7721, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7719, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "4584:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7716, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4557:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7714, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "4546:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4546:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4546:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "4546:37:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4546:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4516:80:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7723, - "name": "requireQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "4627:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7725, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4675:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4675:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7724, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "4650:24:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4650:36:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4627:59:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f554748", - "id": 7729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4700:37:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5bad2f07e59b1b4b8d72ecf482313290c21067f6dbad6059e0d3f71b7d3bcc8a", - "typeString": "literal_string \"LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH\"" - }, - "value": "LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5bad2f07e59b1b4b8d72ecf482313290c21067f6dbad6059e0d3f71b7d3bcc8a", - "typeString": "literal_string \"LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7722, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4606:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:141:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7731, - "nodeType": "ExpressionStatement", - "src": "4606:141:24" - }, - { - "assignments": [ - 7733 - ], - "declarations": [ - { - "constant": false, - "id": 7733, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4811:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4811:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7737, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7735, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "4853:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7734, - "name": "getWithdrawQuotePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8294, - "src": "4829:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 7736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4829:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4811:49:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7739, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "4878:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7740, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "4888:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4878:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 7742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4896:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 7738, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4870:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4870:43:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7744, - "nodeType": "ExpressionStatement", - "src": "4870:43:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7745, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4946:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7748, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5008:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7746, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4976:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4976:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4976:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4946:69:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7751, - "nodeType": "ExpressionStatement", - "src": "4946:69:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7753, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5043:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5043:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7755, - "name": "requireQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "5055:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7752, - "name": "_burnQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8142, - "src": "5025:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5025:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7757, - "nodeType": "ExpressionStatement", - "src": "5025:50:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7759, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7684, - "src": "5108:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7762, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5123:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7760, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5112:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5112:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7758, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "5085:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:47:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7765, - "nodeType": "ExpressionStatement", - "src": "5085:47:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7767, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5160:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7766, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "5142:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5142:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7769, - "nodeType": "ExpressionStatement", - "src": "5142:26:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5193:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5193:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7773, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7684, - "src": "5205:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5209:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7777, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5227:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7775, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5216:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5216:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5216:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7779, - "name": "requireQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "5237:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7770, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "5184:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5184:73:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7781, - "nodeType": "EmitStatement", - "src": "5179:78:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7783, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5286:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5286:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5298:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7786, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5305:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7782, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "5272:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 7787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5272:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7788, - "nodeType": "EmitStatement", - "src": "5267:46:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7791, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5342:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7789, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5331:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5331:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5331:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7694, - "id": 7793, - "nodeType": "Return", - "src": "5324:26:24" - } - ] - }, - "documentation": null, - "functionSelector": "108db744", - "id": 7795, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7689, - "modifierName": { - "argumentTypes": null, - "id": 7688, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4237:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4237:16:24" - }, - { - "arguments": null, - "id": 7691, - "modifierName": { - "argumentTypes": null, - "id": 7690, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "4262:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4262:13:24" - } - ], - "name": "withdrawQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7684, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4186:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7683, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4186:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7686, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4198:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4198:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4185:28:24" - }, - "returnParameters": { - "id": 7694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7693, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4293:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4293:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4292:9:24" - }, - "scope": 8369, - "src": "4161:1196:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7907, - "nodeType": "Block", - "src": "5507:1031:24", - "statements": [ - { - "assignments": [ - 7809, - null - ], - "declarations": [ - { - "constant": false, - "id": 7809, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "5547:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5547:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 7812, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7810, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "5571:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5571:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5546:44:24" - }, - { - "assignments": [ - 7814 - ], - "declarations": [ - { - "constant": false, - "id": 7814, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "5600:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7817, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7815, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "5627:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5627:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5600:48:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7819, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "5666:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5685:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5666:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f5f424153455f4c50", - "id": 7822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5688:12:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2055d54795f762d6673f3bc8faaa342b115cddd4a9aa8ace9a8727200addf048", - "typeString": "literal_string \"NO_BASE_LP\"" - }, - "value": "NO_BASE_LP" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2055d54795f762d6673f3bc8faaa342b115cddd4a9aa8ace9a8727200addf048", - "typeString": "literal_string \"NO_BASE_LP\"" - } - ], - "id": 7818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5658:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5658:43:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7824, - "nodeType": "ExpressionStatement", - "src": "5658:43:24" - }, - { - "assignments": [ - 7826 - ], - "declarations": [ - { - "constant": false, - "id": 7826, - "mutability": "mutable", - "name": "requireBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "5712:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5712:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7834, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7832, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7809, - "src": "5778:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7829, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "5752:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7827, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "5741:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5741:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5741:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "5741:36:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5741:48:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5712:77:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7836, - "name": "requireBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7826, - "src": "5820:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7838, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5866:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5866:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7837, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "5842:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5842:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5820:57:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f554748", - "id": 7842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5891:36:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e164233d6cf78234887d09e5e50c550b2c28ca6ae5f0aec3a8a1a3855da5f380", - "typeString": "literal_string \"LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH\"" - }, - "value": "LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e164233d6cf78234887d09e5e50c550b2c28ca6ae5f0aec3a8a1a3855da5f380", - "typeString": "literal_string \"LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7835, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5799:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5799:138:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7844, - "nodeType": "ExpressionStatement", - "src": "5799:138:24" - }, - { - "assignments": [ - 7846 - ], - "declarations": [ - { - "constant": false, - "id": 7846, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "6001:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6001:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7850, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7848, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6042:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7847, - "name": "getWithdrawBasePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "6019:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 7849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6019:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6001:48:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7852, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6067:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7853, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6078:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6067:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 7855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6086:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 7851, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6059:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6059:44:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7857, - "nodeType": "ExpressionStatement", - "src": "6059:44:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7858, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "6136:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7861, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6196:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7859, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "6165:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6165:30:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6136:67:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7864, - "nodeType": "ExpressionStatement", - "src": "6136:67:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7866, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6230:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6230:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7868, - "name": "requireBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7826, - "src": "6242:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7865, - "name": "_burnBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8126, - "src": "6213:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6213:48:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7870, - "nodeType": "ExpressionStatement", - "src": "6213:48:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7872, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "6293:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7875, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6308:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7873, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6297:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6297:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6297:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7871, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "6271:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7878, - "nodeType": "ExpressionStatement", - "src": "6271:46:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7880, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6344:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7879, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "6327:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6327:25:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7882, - "nodeType": "ExpressionStatement", - "src": "6327:25:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7884, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6377:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6377:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7886, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "6389:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6393:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7890, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6410:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7888, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6399:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6399:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6399:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7892, - "name": "requireBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7826, - "src": "6420:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7883, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "6368:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6368:71:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7894, - "nodeType": "EmitStatement", - "src": "6363:76:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7896, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6468:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6468:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6480:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7899, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6486:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7895, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "6454:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 7900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6454:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7901, - "nodeType": "EmitStatement", - "src": "6449:45:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7904, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6523:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7902, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6512:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6512:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6512:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7807, - "id": 7906, - "nodeType": "Return", - "src": "6505:26:24" - } - ] - }, - "documentation": null, - "functionSelector": "947cf92b", - "id": 7908, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7802, - "modifierName": { - "argumentTypes": null, - "id": 7801, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "5438:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5438:16:24" - }, - { - "arguments": null, - "id": 7804, - "modifierName": { - "argumentTypes": null, - "id": 7803, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "5463:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5463:13:24" - } - ], - "name": "withdrawBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7797, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7908, - "src": "5387:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5387:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7799, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7908, - "src": "5399:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5399:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5386:28:24" - }, - "returnParameters": { - "id": 7807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7806, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7908, - "src": "5494:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5494:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5493:9:24" - }, - "scope": 8369, - "src": "5363:1175:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7992, - "nodeType": "Block", - "src": "6733:750:24", - "statements": [ - { - "assignments": [ - 7920 - ], - "declarations": [ - { - "constant": false, - "id": 7920, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7992, - "src": "6743:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6743:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7925, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6786:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6786:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7921, - "name": "getLpQuoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8220, - "src": "6768:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6768:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6743:54:24" - }, - { - "assignments": [ - 7927 - ], - "declarations": [ - { - "constant": false, - "id": 7927, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7992, - "src": "6807:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6807:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7932, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7929, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6850:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6850:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7928, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "6825:24:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6825:36:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6807:54:24" - }, - { - "assignments": [ - 7934 - ], - "declarations": [ - { - "constant": false, - "id": 7934, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7992, - "src": "6925:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6925:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7938, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7936, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "6967:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7935, - "name": "getWithdrawQuotePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8294, - "src": "6943:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 7937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6943:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6925:57:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7940, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7000:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7941, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7011:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 7943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7027:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 7939, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6992:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6992:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7945, - "nodeType": "ExpressionStatement", - "src": "6992:52:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7946, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "7077:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7949, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7139:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7947, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "7107:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7107:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7107:47:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7077:77:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7952, - "nodeType": "ExpressionStatement", - "src": "7077:77:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7954, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7182:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7182:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7956, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "7194:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7953, - "name": "_burnQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8142, - "src": "7164:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7164:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7958, - "nodeType": "ExpressionStatement", - "src": "7164:38:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7960, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7910, - "src": "7235:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7963, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7258:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7961, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7239:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7239:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7239:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7959, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "7212:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7212:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7966, - "nodeType": "ExpressionStatement", - "src": "7212:55:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7968, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7295:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7967, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "7277:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7277:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7970, - "nodeType": "ExpressionStatement", - "src": "7277:26:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7972, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7328:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7328:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7974, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7910, - "src": "7340:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7344:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7976, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7351:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7977, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "7367:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7971, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "7319:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:56:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7979, - "nodeType": "EmitStatement", - "src": "7314:61:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7981, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7404:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7404:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7416:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7984, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7423:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7980, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "7390:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 7985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7390:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7986, - "nodeType": "EmitStatement", - "src": "7385:46:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7989, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7468:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7987, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7449:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7449:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7449:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7918, - "id": 7991, - "nodeType": "Return", - "src": "7442:34:24" - } - ] - }, - "documentation": null, - "functionSelector": "04512dc4", - "id": 7993, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7913, - "modifierName": { - "argumentTypes": null, - "id": 7912, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "6664:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6664:16:24" - }, - { - "arguments": null, - "id": 7915, - "modifierName": { - "argumentTypes": null, - "id": 7914, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "6689:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6689:13:24" - } - ], - "name": "withdrawAllQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7910, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7993, - "src": "6629:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7909, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6629:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6628:12:24" - }, - "returnParameters": { - "id": 7918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7917, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7993, - "src": "6720:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6720:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6719:9:24" - }, - "scope": 8369, - "src": "6601:882:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8077, - "nodeType": "Block", - "src": "7584:740:24", - "statements": [ - { - "assignments": [ - 8005 - ], - "declarations": [ - { - "constant": false, - "id": 8005, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8077, - "src": "7594:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8004, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7594:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7636:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7636:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 8006, - "name": "getLpBaseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "7619:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7619:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7594:53:24" - }, - { - "assignments": [ - 8012 - ], - "declarations": [ - { - "constant": false, - "id": 8012, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8077, - "src": "7657:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7657:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8017, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8014, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7699:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7699:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 8013, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "7675:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7675:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7657:53:24" - }, - { - "assignments": [ - 8019 - ], - "declarations": [ - { - "constant": false, - "id": 8019, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8077, - "src": "7774:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7774:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8023, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8021, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "7815:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8020, - "name": "getWithdrawBasePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7792:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 8022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7792:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7774:56:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8025, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "7848:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8026, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "7859:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7848:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 8028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 8024, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7840:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7840:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8030, - "nodeType": "ExpressionStatement", - "src": "7840:52:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 8036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8031, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7925:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8034, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "7985:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8032, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7954:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7954:30:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7954:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7925:75:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8037, - "nodeType": "ExpressionStatement", - "src": "7925:75:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8039, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8027:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8027:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8041, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8012, - "src": "8039:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8038, - "name": "_burnBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8126, - "src": "8010:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8010:37:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8043, - "nodeType": "ExpressionStatement", - "src": "8010:37:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8045, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7995, - "src": "8079:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8048, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8102:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8046, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "8083:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8083:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8083:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8044, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "8057:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8057:54:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8051, - "nodeType": "ExpressionStatement", - "src": "8057:54:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8053, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8138:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8052, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "8121:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8121:25:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8055, - "nodeType": "ExpressionStatement", - "src": "8121:25:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8171:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8171:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7995, - "src": "8183:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8187:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 8061, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "8193:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8062, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8012, - "src": "8209:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8056, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "8162:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8162:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8064, - "nodeType": "EmitStatement", - "src": "8157:60:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8066, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8246:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8246:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8258:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 8069, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8264:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8065, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "8232:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 8070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8232:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8071, - "nodeType": "EmitStatement", - "src": "8227:45:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8074, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8309:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8072, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "8290:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8290:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8290:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8003, - "id": 8076, - "nodeType": "Return", - "src": "8283:34:24" - } - ] - }, - "documentation": null, - "functionSelector": "1e34b9cc", - "id": 8078, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7998, - "modifierName": { - "argumentTypes": null, - "id": 7997, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "7535:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7535:16:24" - }, - { - "arguments": null, - "id": 8000, - "modifierName": { - "argumentTypes": null, - "id": 7999, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "7552:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7552:13:24" - } - ], - "name": "withdrawAllBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7995, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8078, - "src": "7516:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7994, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:12:24" - }, - "returnParameters": { - "id": 8003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8002, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8078, - "src": "7575:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7575:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7574:9:24" - }, - "scope": 8369, - "src": "7489:835:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8093, - "nodeType": "Block", - "src": "8446:70:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8089, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8080, - "src": "8496:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8090, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8082, - "src": "8502:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8086, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "8469:20:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8085, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8456:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8456:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 10516, - "src": "8456:39:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8456:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8092, - "nodeType": "ExpressionStatement", - "src": "8456:53:24" - } - ] - }, - "documentation": null, - "id": 8094, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintBaseCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8080, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8094, - "src": "8407:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8407:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8082, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8094, - "src": "8421:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8081, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8421:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8406:30:24" - }, - "returnParameters": { - "id": 8084, - "nodeType": "ParameterList", - "parameters": [], - "src": "8446:0:24" - }, - "scope": 8369, - "src": "8381:135:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8109, - "nodeType": "Block", - "src": "8588:71:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8105, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8096, - "src": "8639:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8106, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "8645:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8102, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "8611:21:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8101, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8598:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8598:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 10516, - "src": "8598:40:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8598:54:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8108, - "nodeType": "ExpressionStatement", - "src": "8598:54:24" - } - ] - }, - "documentation": null, - "id": 8110, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintQuoteCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8096, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "8549:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8549:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8098, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "8563:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8563:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8548:30:24" - }, - "returnParameters": { - "id": 8100, - "nodeType": "ParameterList", - "parameters": [], - "src": "8588:0:24" - }, - "scope": 8369, - "src": "8522:137:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8125, - "nodeType": "Block", - "src": "8730:70:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8121, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "8780:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8122, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "8786:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8118, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "8753:20:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8117, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8740:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8740:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "8740:39:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8740:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8124, - "nodeType": "ExpressionStatement", - "src": "8740:53:24" - } - ] - }, - "documentation": null, - "id": 8126, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnBaseCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8112, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8126, - "src": "8691:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8691:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8114, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8126, - "src": "8705:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8705:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8690:30:24" - }, - "returnParameters": { - "id": 8116, - "nodeType": "ParameterList", - "parameters": [], - "src": "8730:0:24" - }, - "scope": 8369, - "src": "8665:135:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8141, - "nodeType": "Block", - "src": "8872:71:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8137, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8128, - "src": "8923:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8138, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8130, - "src": "8929:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8134, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "8895:21:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8133, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8882:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8882:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "8882:40:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8882:54:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8140, - "nodeType": "ExpressionStatement", - "src": "8882:54:24" - } - ] - }, - "documentation": null, - "id": 8142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnQuoteCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8128, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8142, - "src": "8833:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8833:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8130, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8142, - "src": "8847:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8847:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8832:30:24" - }, - "returnParameters": { - "id": 8132, - "nodeType": "ParameterList", - "parameters": [], - "src": "8872:0:24" - }, - "scope": 8369, - "src": "8806:137:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8180, - "nodeType": "Block", - "src": "9078:301:24", - "statements": [ - { - "assignments": [ - 8150 - ], - "declarations": [ - { - "constant": false, - "id": 8150, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8180, - "src": "9088:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9088:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8153, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8151, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "9115:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9115:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9088:48:24" - }, - { - "assignments": [ - 8155, - null - ], - "declarations": [ - { - "constant": false, - "id": 8155, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8180, - "src": "9147:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9147:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 8158, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8156, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "9171:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 8157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9171:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9146:44:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8159, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8150, - "src": "9204:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9224:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9204:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8165, - "nodeType": "IfStatement", - "src": "9200:60:24", - "trueBody": { - "id": 8164, - "nodeType": "Block", - "src": "9227:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9248:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8148, - "id": 8163, - "nodeType": "Return", - "src": "9241:8:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 8176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8166, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "9269:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8174, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8150, - "src": "9329:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8171, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8155, - "src": "9313:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8168, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8144, - "src": "9305:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8167, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "9281:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9281:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "9281:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9281:43:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "9281:47:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9281:65:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9269:77:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8177, - "nodeType": "ExpressionStatement", - "src": "9269:77:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 8178, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "9363:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8148, - "id": 8179, - "nodeType": "Return", - "src": "9356:16:24" - } - ] - }, - "documentation": null, - "functionSelector": "95faa5f6", - "id": 8181, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLpBaseBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8144, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8181, - "src": "9026:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9026:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9025:12:24" - }, - "returnParameters": { - "id": 8148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8147, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8181, - "src": "9059:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9059:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9058:19:24" - }, - "scope": 8369, - "src": "9000:379:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8219, - "nodeType": "Block", - "src": "9464:308:24", - "statements": [ - { - "assignments": [ - 8189 - ], - "declarations": [ - { - "constant": false, - "id": 8189, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8219, - "src": "9474:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9474:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8192, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8190, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "9502:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9502:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9474:50:24" - }, - { - "assignments": [ - null, - 8194 - ], - "declarations": [ - null, - { - "constant": false, - "id": 8194, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8219, - "src": "9537:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9537:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8197, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8195, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "9560:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 8196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9560:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9534:45:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8198, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "9593:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9614:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9593:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8204, - "nodeType": "IfStatement", - "src": "9589:61:24", - "trueBody": { - "id": 8203, - "nodeType": "Block", - "src": "9617:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9638:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8187, - "id": 8202, - "nodeType": "Return", - "src": "9631:8:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 8215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8205, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8186, - "src": "9659:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8213, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "9721:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8210, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8194, - "src": "9704:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8207, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "9696:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8206, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "9671:24:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "9671:32:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:45:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "9671:49:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:68:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9659:80:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8216, - "nodeType": "ExpressionStatement", - "src": "9659:80:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 8217, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8186, - "src": "9756:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8187, - "id": 8218, - "nodeType": "Return", - "src": "9749:16:24" - } - ] - }, - "documentation": null, - "functionSelector": "36a53bbb", - "id": 8220, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLpQuoteBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8183, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8220, - "src": "9412:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9412:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9411:12:24" - }, - "returnParameters": { - "id": 8187, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8186, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8220, - "src": "9445:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9444:19:24" - }, - "scope": 8369, - "src": "9385:387:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8293, - "nodeType": "Block", - "src": "9865:877:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8228, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "9883:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8229, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "9893:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9883:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748", - "id": 8231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9910:31:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_QUOTE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8227, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9875:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9875:67:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8233, - "nodeType": "ExpressionStatement", - "src": "9875:67:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8234, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "9956:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8235, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9970:5:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9970:13:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9970:23:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9956:37:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8291, - "nodeType": "Block", - "src": "10703:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10724:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8226, - "id": 8290, - "nodeType": "Return", - "src": "10717:8:24" - } - ] - }, - "id": 8292, - "nodeType": "IfStatement", - "src": "9952:784:24", - "trueBody": { - "id": 8288, - "nodeType": "Block", - "src": "9995:702:24", - "statements": [ - { - "assignments": [ - 8240 - ], - "declarations": [ - { - "constant": false, - "id": 8240, - "mutability": "mutable", - "name": "spareBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10009:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10009:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8245, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8243, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "10048:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8241, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "10029:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10029:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10029:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10009:66:24" - }, - { - "assignments": [ - 8247 - ], - "declarations": [ - { - "constant": false, - "id": 8247, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10089:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10089:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8250, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8248, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "10105:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10105:16:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10089:32:24" - }, - { - "assignments": [ - 8252 - ], - "declarations": [ - { - "constant": false, - "id": 8252, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10135:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10135:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8258, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8255, - "name": "spareBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8240, - "src": "10172:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8256, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8247, - "src": "10183:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8253, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "10156:11:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "10156:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10156:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10135:54:24" - }, - { - "assignments": [ - 8260 - ], - "declarations": [ - { - "constant": false, - "id": 8260, - "mutability": "mutable", - "name": "targetQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10203:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10203:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8267, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8263, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "10284:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8264, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "10317:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8265, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8252, - "src": "10338:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8261, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "10225:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "10225:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10225:137:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10203:159:24" - }, - { - "assignments": [ - 8269 - ], - "declarations": [ - { - "constant": false, - "id": 8269, - "mutability": "mutable", - "name": "targetQuoteWithWithdraw", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10430:31:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10430:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8279, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8274, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "10543:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8272, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "10523:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10523:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10523:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8276, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "10568:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8277, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8252, - "src": "10589:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8270, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "10464:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "10464:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10464:149:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10430:183:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8284, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "10678:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8282, - "name": "targetQuoteWithWithdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8269, - "src": "10650:23:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "10650:27:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10650:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8280, - "name": "targetQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8260, - "src": "10634:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10634:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10634:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8226, - "id": 8287, - "nodeType": "Return", - "src": "10627:59:24" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "0c9f7bd0", - "id": 8294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getWithdrawQuotePenalty", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8222, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8294, - "src": "9811:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9811:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9810:16:24" - }, - "returnParameters": { - "id": 8226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8225, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8294, - "src": "9848:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9848:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9847:17:24" - }, - "scope": 8369, - "src": "9778:964:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8367, - "nodeType": "Block", - "src": "10834:877:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8302, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8296, - "src": "10852:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8303, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "10862:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10852:24:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 8305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10878:30:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8301, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10844:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10844:65:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8307, - "nodeType": "ExpressionStatement", - "src": "10844:65:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8308, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "10923:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8309, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "10937:5:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "10937:13:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10937:23:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "10923:37:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8365, - "nodeType": "Block", - "src": "11672:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11693:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8300, - "id": 8364, - "nodeType": "Return", - "src": "11686:8:24" - } - ] - }, - "id": 8366, - "nodeType": "IfStatement", - "src": "10919:786:24", - "trueBody": { - "id": 8362, - "nodeType": "Block", - "src": "10962:704:24", - "statements": [ - { - "assignments": [ - 8314 - ], - "declarations": [ - { - "constant": false, - "id": 8314, - "mutability": "mutable", - "name": "spareQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "10976:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10976:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8317, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "11017:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8315, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "10997:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10997:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10997:48:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10976:69:24" - }, - { - "assignments": [ - 8321 - ], - "declarations": [ - { - "constant": false, - "id": 8321, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11059:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11059:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8324, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8322, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "11075:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11075:16:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11059:32:24" - }, - { - "assignments": [ - 8326 - ], - "declarations": [ - { - "constant": false, - "id": 8326, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11105:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11105:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8332, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8329, - "name": "spareQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8314, - "src": "11147:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8330, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8321, - "src": "11159:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8327, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "11126:11:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "11126:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11126:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11105:60:24" - }, - { - "assignments": [ - 8334 - ], - "declarations": [ - { - "constant": false, - "id": 8334, - "mutability": "mutable", - "name": "targetBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11179:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11179:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8341, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8337, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "11259:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8338, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "11291:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8339, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8326, - "src": "11312:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8335, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "11200:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "11200:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11200:136:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11179:157:24" - }, - { - "assignments": [ - 8343 - ], - "declarations": [ - { - "constant": false, - "id": 8343, - "mutability": "mutable", - "name": "targetBaseWithWithdraw", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11403:30:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11403:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8353, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8348, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8296, - "src": "11514:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8346, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "11495:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "11495:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11495:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8350, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "11539:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8351, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8326, - "src": "11560:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8344, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "11436:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "11436:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11436:148:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11403:181:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8358, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8296, - "src": "11647:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8356, - "name": "targetBaseWithWithdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "11620:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "11620:26:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11620:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8354, - "name": "targetBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8334, - "src": "11605:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "11605:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11605:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8300, - "id": 8361, - "nodeType": "Return", - "src": "11598:57:24" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "ee5150b3", - "id": 8368, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getWithdrawBasePenalty", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8296, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8368, - "src": "10780:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10780:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10779:16:24" - }, - "returnParameters": { - "id": 8300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8299, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8368, - "src": "10817:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10817:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10816:17:24" - }, - "scope": 8369, - "src": "10748:963:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 8370, - "src": "618:11095:24" - } - ], - "src": "78:11636:24" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol", - "exportedSymbols": { - "LiquidityProvider": [ - 8369 - ] - }, - "id": 8370, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7349, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:24" - }, - { - "id": 7350, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:24" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 7352, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 11624, - "src": "136:45:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7351, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 7354, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 11079, - "src": "182:51:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7353, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "file": "../lib/DODOMath.sol", - "id": 7356, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 10993, - "src": "234:45:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7355, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:8:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 7358, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 11632, - "src": "280:39:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7357, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "288:5:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "file": "../intf/IDODOLpToken.sol", - "id": 7360, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 10537, - "src": "320:54:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7359, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "328:12:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 7362, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 9614, - "src": "375:38:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7361, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "383:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "file": "./Settlement.sol", - "id": 7364, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 9397, - "src": "414:44:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7363, - "name": "Settlement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "422:10:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "file": "./Pricing.sol", - "id": 7366, - "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 8854, - "src": "459:38:24", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 7365, - "name": "Pricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "467:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7368, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "648:7:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 7369, - "nodeType": "InheritanceSpecifier", - "src": "648:7:24" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7370, - "name": "Pricing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8853, - "src": "657:7:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pricing_$8853", - "typeString": "contract Pricing" - } - }, - "id": 7371, - "nodeType": "InheritanceSpecifier", - "src": "657:7:24" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7372, - "name": "Settlement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9396, - "src": "666:10:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - }, - "id": 7373, - "nodeType": "InheritanceSpecifier", - "src": "666:10:24" - } - ], - "contractDependencies": [ - 8853, - 9396, - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 7367, - "nodeType": "StructuredDocumentation", - "src": "500:117:24", - "text": " @title LiquidityProvider\n @author DODO Breeder\n @notice Functions for liquidity provider operations" - }, - "fullyImplemented": true, - "id": 8369, - "linearizedBaseContracts": [ - 8369, - 9396, - 8853, - 9613, - 11296, - 11166 - ], - "name": "LiquidityProvider", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7376, - "libraryName": { - "contractScope": null, - "id": 7374, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "689:8:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "683:27:24", - "typeName": { - "id": 7375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 7388, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 7387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7378, - "indexed": true, - "mutability": "mutable", - "name": "payer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "780:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "780:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7380, - "indexed": true, - "mutability": "mutable", - "name": "receiver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "811:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7382, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "845:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7381, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "845:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7384, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "871:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "871:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7386, - "indexed": false, - "mutability": "mutable", - "name": "lpTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7388, - "src": "895:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7385, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "895:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "770:152:24" - }, - "src": "757:166:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 7400, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 7399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7390, - "indexed": true, - "mutability": "mutable", - "name": "payer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "953:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "953:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7392, - "indexed": true, - "mutability": "mutable", - "name": "receiver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "984:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "984:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7394, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "1018:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7393, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1018:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7396, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "1044:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1044:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7398, - "indexed": false, - "mutability": "mutable", - "name": "lpTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7400, - "src": "1068:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1068:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "943:152:24" - }, - "src": "929:167:24" - }, - { - "anonymous": false, - "documentation": null, - "id": 7408, - "name": "ChargePenalty", - "nodeType": "EventDefinition", - "parameters": { - "id": 7407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7402, - "indexed": true, - "mutability": "mutable", - "name": "payer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7408, - "src": "1122:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1122:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7404, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7408, - "src": "1145:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7403, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1145:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7406, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7408, - "src": "1163:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1163:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:57:24" - }, - "src": "1102:77:24" - }, - { - "body": { - "id": 7416, - "nodeType": "Block", - "src": "1260:89:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7411, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "1278:23:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4445504f5349545f51554f54455f4e4f545f414c4c4f574544", - "id": 7412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1303:27:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f8ca46e1665f66396f293f9a520e0b7eba90c16ed34c9b5d30b4532a06b94ae", - "typeString": "literal_string \"DEPOSIT_QUOTE_NOT_ALLOWED\"" - }, - "value": "DEPOSIT_QUOTE_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f8ca46e1665f66396f293f9a520e0b7eba90c16ed34c9b5d30b4532a06b94ae", - "typeString": "literal_string \"DEPOSIT_QUOTE_NOT_ALLOWED\"" - } - ], - "id": 7410, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1270:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1270:61:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7414, - "nodeType": "ExpressionStatement", - "src": "1270:61:24" - }, - { - "id": 7415, - "nodeType": "PlaceholderStatement", - "src": "1341:1:24" - } - ] - }, - "documentation": null, - "id": 7417, - "name": "depositQuoteAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7409, - "nodeType": "ParameterList", - "parameters": [], - "src": "1257:2:24" - }, - "src": "1229:120:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7425, - "nodeType": "Block", - "src": "1385:87:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7420, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "1403:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4445504f5349545f424153455f4e4f545f414c4c4f574544", - "id": 7421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1427:26:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2e520f2f988e5e849fb2744d0cdabd1103964b7b504d67387f2f6654882bc899", - "typeString": "literal_string \"DEPOSIT_BASE_NOT_ALLOWED\"" - }, - "value": "DEPOSIT_BASE_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2e520f2f988e5e849fb2744d0cdabd1103964b7b504d67387f2f6654882bc899", - "typeString": "literal_string \"DEPOSIT_BASE_NOT_ALLOWED\"" - } - ], - "id": 7419, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1395:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1395:59:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7423, - "nodeType": "ExpressionStatement", - "src": "1395:59:24" - }, - { - "id": 7424, - "nodeType": "PlaceholderStatement", - "src": "1464:1:24" - } - ] - }, - "documentation": null, - "id": 7426, - "name": "depositBaseAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7418, - "nodeType": "ParameterList", - "parameters": [], - "src": "1382:2:24" - }, - "src": "1355:117:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7435, - "nodeType": "Block", - "src": "1503:61:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1521:9:24", - "subExpression": { - "argumentTypes": null, - "id": 7429, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "1522:8:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f434c4f534544", - "id": 7431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1532:13:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - }, - "value": "DODO_CLOSED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - } - ], - "id": 7428, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1513:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1513:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7433, - "nodeType": "ExpressionStatement", - "src": "1513:33:24" - }, - { - "id": 7434, - "nodeType": "PlaceholderStatement", - "src": "1556:1:24" - } - ] - }, - "documentation": null, - "id": 7436, - "name": "dodoNotClosed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [], - "src": "1500:2:24" - }, - "src": "1478:86:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7449, - "nodeType": "Block", - "src": "1687:58:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7444, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1719:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1719:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7446, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "1731:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7443, - "name": "withdrawBaseTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7908, - "src": "1704:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7442, - "id": 7448, - "nodeType": "Return", - "src": "1697:41:24" - } - ] - }, - "documentation": null, - "functionSelector": "f98bea15", - "id": 7450, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7438, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7450, - "src": "1644:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1644:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1643:16:24" - }, - "returnParameters": { - "id": 7442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7441, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7450, - "src": "1678:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7440, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1677:9:24" - }, - "scope": 8369, - "src": "1622:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7463, - "nodeType": "Block", - "src": "1815:57:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7458, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1846:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1846:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7460, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7452, - "src": "1858:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7457, - "name": "depositBaseTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7682, - "src": "1832:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1832:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7456, - "id": 7462, - "nodeType": "Return", - "src": "1825:40:24" - } - ] - }, - "documentation": null, - "functionSelector": "27bed8ee", - "id": 7464, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "depositBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7452, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7464, - "src": "1772:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1772:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1771:16:24" - }, - "returnParameters": { - "id": 7456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7455, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7464, - "src": "1806:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1806:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1805:9:24" - }, - "scope": 8369, - "src": "1751:121:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7477, - "nodeType": "Block", - "src": "1944:59:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7472, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1977:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1977:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7474, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7466, - "src": "1989:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7471, - "name": "withdrawQuoteTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7795, - "src": "1961:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1961:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7470, - "id": 7476, - "nodeType": "Return", - "src": "1954:42:24" - } - ] - }, - "documentation": null, - "functionSelector": "c0a5f6ff", - "id": 7478, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7466, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7478, - "src": "1901:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1901:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1900:16:24" - }, - "returnParameters": { - "id": 7470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7469, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7478, - "src": "1935:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1934:9:24" - }, - "scope": 8369, - "src": "1878:125:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7491, - "nodeType": "Block", - "src": "2074:58:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7486, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2106:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2106:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7488, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7480, - "src": "2118:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7485, - "name": "depositQuoteTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7598, - "src": "2091:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) returns (uint256)" - } - }, - "id": 7489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2091:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7484, - "id": 7490, - "nodeType": "Return", - "src": "2084:41:24" - } - ] - }, - "documentation": null, - "functionSelector": "f3ae6c5f", - "id": 7492, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "depositQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7480, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7492, - "src": "2031:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2031:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2030:16:24" - }, - "returnParameters": { - "id": 7484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7483, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7492, - "src": "2065:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2065:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2064:9:24" - }, - "scope": 8369, - "src": "2009:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7502, - "nodeType": "Block", - "src": "2192:53:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7498, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2227:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2227:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7497, - "name": "withdrawAllBaseTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8078, - "src": "2209:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 7500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2209:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7496, - "id": 7501, - "nodeType": "Return", - "src": "2202:36:24" - } - ] - }, - "documentation": null, - "functionSelector": "d47eaa37", - "id": 7503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawAllBase", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7493, - "nodeType": "ParameterList", - "parameters": [], - "src": "2162:2:24" - }, - "returnParameters": { - "id": 7496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7503, - "src": "2183:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2182:9:24" - }, - "scope": 8369, - "src": "2138:107:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7513, - "nodeType": "Block", - "src": "2306:54:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7509, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2342:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2342:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7508, - "name": "withdrawAllQuoteTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7993, - "src": "2323:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2323:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7507, - "id": 7512, - "nodeType": "Return", - "src": "2316:37:24" - } - ] - }, - "documentation": null, - "functionSelector": "c59203af", - "id": 7514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawAllQuote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7504, - "nodeType": "ParameterList", - "parameters": [], - "src": "2276:2:24" - }, - "returnParameters": { - "id": 7507, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7506, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7514, - "src": "2297:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2297:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2296:9:24" - }, - "scope": 8369, - "src": "2251:109:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 7597, - "nodeType": "Block", - "src": "2568:697:24", - "statements": [ - { - "assignments": [ - null, - 7528 - ], - "declarations": [ - null, - { - "constant": false, - "id": 7528, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2581:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2581:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7531, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7529, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "2604:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2604:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2578:45:24" - }, - { - "assignments": [ - 7533 - ], - "declarations": [ - { - "constant": false, - "id": 7533, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2633:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2633:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7536, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7534, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "2661:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2661:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2633:50:24" - }, - { - "assignments": [ - 7538 - ], - "declarations": [ - { - "constant": false, - "id": 7538, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2693:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2693:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7540, - "initialValue": { - "argumentTypes": null, - "id": 7539, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "2711:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2693:24:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7541, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7533, - "src": "2731:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2752:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2731:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7552, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "2881:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2895:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2881:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7566, - "nodeType": "IfStatement", - "src": "2877:102:24", - "trueBody": { - "id": 7565, - "nodeType": "Block", - "src": "2898:81:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7555, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "2912:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7561, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "2956:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7558, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7533, - "src": "2933:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7556, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "2922:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "2922:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2922:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "2922:33:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2922:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2912:56:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7564, - "nodeType": "ExpressionStatement", - "src": "2912:56:24" - } - ] - } - }, - "id": 7567, - "nodeType": "IfStatement", - "src": "2727:252:24", - "trueBody": { - "id": 7551, - "nodeType": "Block", - "src": "2755:116:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7544, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "2827:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7547, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "2848:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7545, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "2837:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2837:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2837:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2827:33:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7550, - "nodeType": "ExpressionStatement", - "src": "2827:33:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7569, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3033:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3033:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7571, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "3045:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7568, - "name": "_quoteTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8967, - "src": "3011:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3011:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7573, - "nodeType": "ExpressionStatement", - "src": "3011:41:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7575, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "3080:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7576, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "3084:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7574, - "name": "_mintQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8110, - "src": "3062:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3062:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7578, - "nodeType": "ExpressionStatement", - "src": "3062:30:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7579, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3102:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7582, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "3164:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7580, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3132:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3132:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3132:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3102:69:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7585, - "nodeType": "ExpressionStatement", - "src": "3102:69:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7587, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3195:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3195:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7589, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "3207:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3211:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7591, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7518, - "src": "3218:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7592, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "3226:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7586, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "3187:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:47:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7594, - "nodeType": "EmitStatement", - "src": "3182:52:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7595, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "3251:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7526, - "id": 7596, - "nodeType": "Return", - "src": "3244:14:24" - } - ] - }, - "documentation": null, - "functionSelector": "5f179f64", - "id": 7598, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7521, - "modifierName": { - "argumentTypes": null, - "id": 7520, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2493:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2493:16:24" - }, - { - "arguments": null, - "id": 7523, - "modifierName": { - "argumentTypes": null, - "id": 7522, - "name": "depositQuoteAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7417, - "src": "2518:19:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2518:19:24" - } - ], - "name": "depositQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7516, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7598, - "src": "2442:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2442:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7518, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7598, - "src": "2454:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2454:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2441:28:24" - }, - "returnParameters": { - "id": 7526, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7525, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7598, - "src": "2555:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2555:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2554:9:24" - }, - "scope": 8369, - "src": "2418:847:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7681, - "nodeType": "Block", - "src": "3419:683:24", - "statements": [ - { - "assignments": [ - 7612, - null - ], - "declarations": [ - { - "constant": false, - "id": 7612, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3430:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3430:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 7615, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7613, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "3454:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3454:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3429:44:24" - }, - { - "assignments": [ - 7617 - ], - "declarations": [ - { - "constant": false, - "id": 7617, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3483:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3483:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7620, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7618, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "3510:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3510:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3483:48:24" - }, - { - "assignments": [ - 7622 - ], - "declarations": [ - { - "constant": false, - "id": 7622, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3541:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3541:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7624, - "initialValue": { - "argumentTypes": null, - "id": 7623, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3559:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3541:24:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7625, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "3579:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3599:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3579:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7636, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "3726:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3739:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3726:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7650, - "nodeType": "IfStatement", - "src": "3722:99:24", - "trueBody": { - "id": 7649, - "nodeType": "Block", - "src": "3742:79:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7639, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3756:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7645, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "3799:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7642, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "3777:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7640, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3766:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3766:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3766:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3766:32:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3766:44:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3756:54:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7648, - "nodeType": "ExpressionStatement", - "src": "3756:54:24" - } - ] - } - }, - "id": 7651, - "nodeType": "IfStatement", - "src": "3575:246:24", - "trueBody": { - "id": 7635, - "nodeType": "Block", - "src": "3602:114:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7628, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3673:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7631, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "3694:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7629, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3683:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3683:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3683:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3673:32:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7634, - "nodeType": "ExpressionStatement", - "src": "3673:32:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7653, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3874:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3874:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7655, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "3886:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7652, - "name": "_baseTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "3853:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3853:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7657, - "nodeType": "ExpressionStatement", - "src": "3853:40:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7659, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7600, - "src": "3920:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7660, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3924:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7658, - "name": "_mintBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8094, - "src": "3903:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3903:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7662, - "nodeType": "ExpressionStatement", - "src": "3903:29:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7663, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3942:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7666, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "4002:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7664, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3971:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3971:30:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3971:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3942:67:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7669, - "nodeType": "ExpressionStatement", - "src": "3942:67:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7671, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4033:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4033:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7673, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7600, - "src": "4045:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4049:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7675, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7602, - "src": "4055:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7676, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "4063:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7670, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "4025:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4025:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7678, - "nodeType": "EmitStatement", - "src": "4020:51:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7679, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "4088:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7610, - "id": 7680, - "nodeType": "Return", - "src": "4081:14:24" - } - ] - }, - "documentation": null, - "functionSelector": "aa06ce9b", - "id": 7682, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7605, - "modifierName": { - "argumentTypes": null, - "id": 7604, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3345:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3345:16:24" - }, - { - "arguments": null, - "id": 7607, - "modifierName": { - "argumentTypes": null, - "id": 7606, - "name": "depositBaseAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7426, - "src": "3370:18:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3370:18:24" - } - ], - "name": "depositBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7600, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7682, - "src": "3294:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3294:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7602, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7682, - "src": "3306:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3306:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3293:28:24" - }, - "returnParameters": { - "id": 7610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7609, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7682, - "src": "3406:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3406:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3405:9:24" - }, - "scope": 8369, - "src": "3271:831:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7794, - "nodeType": "Block", - "src": "4306:1051:24", - "statements": [ - { - "assignments": [ - null, - 7696 - ], - "declarations": [ - null, - { - "constant": false, - "id": 7696, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4348:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4348:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7699, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7697, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "4371:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4371:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4345:45:24" - }, - { - "assignments": [ - 7701 - ], - "declarations": [ - { - "constant": false, - "id": 7701, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4400:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4400:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7704, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7702, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "4428:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4428:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4400:50:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7706, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4468:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4488:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4468:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f5f51554f54455f4c50", - "id": 7709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4491:13:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45201781226c6ef295dd5fc256e793e26359d1272043d931959202cf3772a527", - "typeString": "literal_string \"NO_QUOTE_LP\"" - }, - "value": "NO_QUOTE_LP" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45201781226c6ef295dd5fc256e793e26359d1272043d931959202cf3772a527", - "typeString": "literal_string \"NO_QUOTE_LP\"" - } - ], - "id": 7705, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4460:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4460:45:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7711, - "nodeType": "ExpressionStatement", - "src": "4460:45:24" - }, - { - "assignments": [ - 7713 - ], - "declarations": [ - { - "constant": false, - "id": 7713, - "mutability": "mutable", - "name": "requireQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4516:27:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4516:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7721, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7719, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7696, - "src": "4584:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7716, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4557:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7714, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "4546:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4546:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4546:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "4546:37:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4546:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4516:80:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7723, - "name": "requireQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "4627:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7725, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4675:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4675:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7724, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "4650:24:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4650:36:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4627:59:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f554748", - "id": 7729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4700:37:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5bad2f07e59b1b4b8d72ecf482313290c21067f6dbad6059e0d3f71b7d3bcc8a", - "typeString": "literal_string \"LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH\"" - }, - "value": "LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5bad2f07e59b1b4b8d72ecf482313290c21067f6dbad6059e0d3f71b7d3bcc8a", - "typeString": "literal_string \"LP_QUOTE_CAPITAL_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7722, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4606:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:141:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7731, - "nodeType": "ExpressionStatement", - "src": "4606:141:24" - }, - { - "assignments": [ - 7733 - ], - "declarations": [ - { - "constant": false, - "id": 7733, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7794, - "src": "4811:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4811:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7737, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7735, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "4853:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7734, - "name": "getWithdrawQuotePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8294, - "src": "4829:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 7736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4829:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4811:49:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7739, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "4878:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7740, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "4888:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4878:16:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 7742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4896:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 7738, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4870:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4870:43:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7744, - "nodeType": "ExpressionStatement", - "src": "4870:43:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7745, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4946:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7748, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5008:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7746, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4976:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4976:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4976:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4946:69:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7751, - "nodeType": "ExpressionStatement", - "src": "4946:69:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7753, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5043:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5043:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7755, - "name": "requireQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "5055:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7752, - "name": "_burnQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8142, - "src": "5025:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5025:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7757, - "nodeType": "ExpressionStatement", - "src": "5025:50:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7759, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7684, - "src": "5108:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7762, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5123:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7760, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5112:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5112:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7758, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "5085:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5085:47:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7765, - "nodeType": "ExpressionStatement", - "src": "5085:47:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7767, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5160:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7766, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "5142:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5142:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7769, - "nodeType": "ExpressionStatement", - "src": "5142:26:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5193:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5193:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7773, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7684, - "src": "5205:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5209:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7777, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5227:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7775, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5216:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5216:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5216:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7779, - "name": "requireQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "5237:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7770, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "5184:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5184:73:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7781, - "nodeType": "EmitStatement", - "src": "5179:78:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7783, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5286:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5286:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5298:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7786, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5305:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7782, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "5272:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 7787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5272:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7788, - "nodeType": "EmitStatement", - "src": "5267:46:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7791, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7733, - "src": "5342:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7789, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7686, - "src": "5331:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5331:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5331:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7694, - "id": 7793, - "nodeType": "Return", - "src": "5324:26:24" - } - ] - }, - "documentation": null, - "functionSelector": "108db744", - "id": 7795, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7689, - "modifierName": { - "argumentTypes": null, - "id": 7688, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "4237:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4237:16:24" - }, - { - "arguments": null, - "id": 7691, - "modifierName": { - "argumentTypes": null, - "id": 7690, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "4262:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4262:13:24" - } - ], - "name": "withdrawQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7684, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4186:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7683, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4186:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7686, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4198:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4198:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4185:28:24" - }, - "returnParameters": { - "id": 7694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7693, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4293:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4293:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4292:9:24" - }, - "scope": 8369, - "src": "4161:1196:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7907, - "nodeType": "Block", - "src": "5507:1031:24", - "statements": [ - { - "assignments": [ - 7809, - null - ], - "declarations": [ - { - "constant": false, - "id": 7809, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "5547:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5547:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 7812, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7810, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "5571:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 7811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5571:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5546:44:24" - }, - { - "assignments": [ - 7814 - ], - "declarations": [ - { - "constant": false, - "id": 7814, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "5600:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7817, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7815, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "5627:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5627:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5600:48:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7819, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "5666:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5685:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5666:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f5f424153455f4c50", - "id": 7822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5688:12:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2055d54795f762d6673f3bc8faaa342b115cddd4a9aa8ace9a8727200addf048", - "typeString": "literal_string \"NO_BASE_LP\"" - }, - "value": "NO_BASE_LP" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2055d54795f762d6673f3bc8faaa342b115cddd4a9aa8ace9a8727200addf048", - "typeString": "literal_string \"NO_BASE_LP\"" - } - ], - "id": 7818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5658:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5658:43:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7824, - "nodeType": "ExpressionStatement", - "src": "5658:43:24" - }, - { - "assignments": [ - 7826 - ], - "declarations": [ - { - "constant": false, - "id": 7826, - "mutability": "mutable", - "name": "requireBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "5712:26:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5712:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7834, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7832, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7809, - "src": "5778:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7829, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "5752:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7827, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "5741:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5741:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5741:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11536, - "src": "5741:36:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5741:48:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5712:77:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7836, - "name": "requireBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7826, - "src": "5820:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7838, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5866:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5866:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7837, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "5842:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5842:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5820:57:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f554748", - "id": 7842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5891:36:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e164233d6cf78234887d09e5e50c550b2c28ca6ae5f0aec3a8a1a3855da5f380", - "typeString": "literal_string \"LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH\"" - }, - "value": "LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e164233d6cf78234887d09e5e50c550b2c28ca6ae5f0aec3a8a1a3855da5f380", - "typeString": "literal_string \"LP_BASE_CAPITAL_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 7835, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5799:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5799:138:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7844, - "nodeType": "ExpressionStatement", - "src": "5799:138:24" - }, - { - "assignments": [ - 7846 - ], - "declarations": [ - { - "constant": false, - "id": 7846, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7907, - "src": "6001:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6001:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7850, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7848, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6042:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7847, - "name": "getWithdrawBasePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "6019:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 7849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6019:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6001:48:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7852, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6067:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7853, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6078:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6067:17:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 7855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6086:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 7851, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6059:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6059:44:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7857, - "nodeType": "ExpressionStatement", - "src": "6059:44:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7858, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "6136:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7861, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6196:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7859, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "6165:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6165:30:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6136:67:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7864, - "nodeType": "ExpressionStatement", - "src": "6136:67:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7866, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6230:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6230:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7868, - "name": "requireBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7826, - "src": "6242:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7865, - "name": "_burnBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8126, - "src": "6213:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6213:48:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7870, - "nodeType": "ExpressionStatement", - "src": "6213:48:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7872, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "6293:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7875, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6308:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7873, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6297:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6297:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6297:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7871, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "6271:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7878, - "nodeType": "ExpressionStatement", - "src": "6271:46:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7880, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6344:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7879, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "6327:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6327:25:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7882, - "nodeType": "ExpressionStatement", - "src": "6327:25:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7884, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6377:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6377:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7886, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "6389:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6393:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7890, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6410:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7888, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6399:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6399:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6399:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7892, - "name": "requireBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7826, - "src": "6420:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7883, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "6368:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6368:71:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7894, - "nodeType": "EmitStatement", - "src": "6363:76:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7896, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6468:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6468:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6480:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7899, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6486:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7895, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "6454:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 7900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6454:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7901, - "nodeType": "EmitStatement", - "src": "6449:45:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7904, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7846, - "src": "6523:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7902, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7799, - "src": "6512:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6512:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6512:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7807, - "id": 7906, - "nodeType": "Return", - "src": "6505:26:24" - } - ] - }, - "documentation": null, - "functionSelector": "947cf92b", - "id": 7908, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7802, - "modifierName": { - "argumentTypes": null, - "id": 7801, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "5438:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5438:16:24" - }, - { - "arguments": null, - "id": 7804, - "modifierName": { - "argumentTypes": null, - "id": 7803, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "5463:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5463:13:24" - } - ], - "name": "withdrawBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7797, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7908, - "src": "5387:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5387:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7799, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7908, - "src": "5399:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5399:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5386:28:24" - }, - "returnParameters": { - "id": 7807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7806, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7908, - "src": "5494:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5494:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5493:9:24" - }, - "scope": 8369, - "src": "5363:1175:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7992, - "nodeType": "Block", - "src": "6733:750:24", - "statements": [ - { - "assignments": [ - 7920 - ], - "declarations": [ - { - "constant": false, - "id": 7920, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7992, - "src": "6743:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6743:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7925, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6786:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6786:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7921, - "name": "getLpQuoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8220, - "src": "6768:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6768:29:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6743:54:24" - }, - { - "assignments": [ - 7927 - ], - "declarations": [ - { - "constant": false, - "id": 7927, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7992, - "src": "6807:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6807:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7932, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7929, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6850:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6850:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7928, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "6825:24:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 7931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6825:36:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6807:54:24" - }, - { - "assignments": [ - 7934 - ], - "declarations": [ - { - "constant": false, - "id": 7934, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7992, - "src": "6925:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6925:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7938, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7936, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "6967:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7935, - "name": "getWithdrawQuotePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8294, - "src": "6943:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 7937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6943:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6925:57:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7940, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7000:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7941, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7011:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 7943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7027:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 7939, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6992:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6992:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7945, - "nodeType": "ExpressionStatement", - "src": "6992:52:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 7951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7946, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "7077:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7949, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7139:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7947, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "7107:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7107:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7107:47:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7077:77:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7952, - "nodeType": "ExpressionStatement", - "src": "7077:77:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7954, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7182:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7182:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7956, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "7194:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7953, - "name": "_burnQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8142, - "src": "7164:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7164:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7958, - "nodeType": "ExpressionStatement", - "src": "7164:38:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7960, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7910, - "src": "7235:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7963, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7258:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7961, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7239:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7239:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7239:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7959, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "7212:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7212:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7966, - "nodeType": "ExpressionStatement", - "src": "7212:55:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7968, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7295:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7967, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "7277:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7277:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7970, - "nodeType": "ExpressionStatement", - "src": "7277:26:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7972, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7328:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7328:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7974, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7910, - "src": "7340:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7344:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7976, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7351:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7977, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "7367:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7971, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "7319:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 7978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:56:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7979, - "nodeType": "EmitStatement", - "src": "7314:61:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7981, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7404:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7404:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7416:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 7984, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7423:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7980, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "7390:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 7985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7390:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7986, - "nodeType": "EmitStatement", - "src": "7385:46:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7989, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "7468:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7987, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7920, - "src": "7449:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7449:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7449:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7918, - "id": 7991, - "nodeType": "Return", - "src": "7442:34:24" - } - ] - }, - "documentation": null, - "functionSelector": "04512dc4", - "id": 7993, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7913, - "modifierName": { - "argumentTypes": null, - "id": 7912, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "6664:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6664:16:24" - }, - { - "arguments": null, - "id": 7915, - "modifierName": { - "argumentTypes": null, - "id": 7914, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "6689:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6689:13:24" - } - ], - "name": "withdrawAllQuoteTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7910, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7993, - "src": "6629:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7909, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6629:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6628:12:24" - }, - "returnParameters": { - "id": 7918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7917, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7993, - "src": "6720:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6720:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6719:9:24" - }, - "scope": 8369, - "src": "6601:882:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8077, - "nodeType": "Block", - "src": "7584:740:24", - "statements": [ - { - "assignments": [ - 8005 - ], - "declarations": [ - { - "constant": false, - "id": 8005, - "mutability": "mutable", - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8077, - "src": "7594:22:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8004, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7594:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8007, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7636:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7636:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 8006, - "name": "getLpBaseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "7619:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7619:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7594:53:24" - }, - { - "assignments": [ - 8012 - ], - "declarations": [ - { - "constant": false, - "id": 8012, - "mutability": "mutable", - "name": "capital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8077, - "src": "7657:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7657:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8017, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8014, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7699:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7699:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 8013, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "7675:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7675:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7657:53:24" - }, - { - "assignments": [ - 8019 - ], - "declarations": [ - { - "constant": false, - "id": 8019, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8077, - "src": "7774:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7774:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8023, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8021, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "7815:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8020, - "name": "getWithdrawBasePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7792:22:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 8022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7792:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7774:56:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8025, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "7848:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8026, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "7859:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7848:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50454e414c54595f455843454544", - "id": 8028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:16:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - }, - "value": "PENALTY_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af45c887a0c55e74d3b6ab9848241dbf6ed28c9c1025c29eecc72eb9398254c6", - "typeString": "literal_string \"PENALTY_EXCEED\"" - } - ], - "id": 8024, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7840:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7840:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8030, - "nodeType": "ExpressionStatement", - "src": "7840:52:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 8036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8031, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7925:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8034, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "7985:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8032, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7954:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7954:30:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7954:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7925:75:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8037, - "nodeType": "ExpressionStatement", - "src": "7925:75:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8039, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8027:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8027:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8041, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8012, - "src": "8039:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8038, - "name": "_burnBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8126, - "src": "8010:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8010:37:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8043, - "nodeType": "ExpressionStatement", - "src": "8010:37:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8045, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7995, - "src": "8079:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8048, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8102:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8046, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "8083:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8083:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8083:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8044, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "8057:21:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8057:54:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8051, - "nodeType": "ExpressionStatement", - "src": "8057:54:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8053, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8138:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8052, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "8121:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8121:25:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8055, - "nodeType": "ExpressionStatement", - "src": "8121:25:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8171:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8171:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7995, - "src": "8183:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8187:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 8061, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "8193:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8062, - "name": "capital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8012, - "src": "8209:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8056, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "8162:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,bool,uint256,uint256)" - } - }, - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8162:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8064, - "nodeType": "EmitStatement", - "src": "8157:60:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8066, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8246:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8246:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8258:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 8069, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8264:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8065, - "name": "ChargePenalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7408, - "src": "8232:13:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 8070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8232:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8071, - "nodeType": "EmitStatement", - "src": "8227:45:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8074, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8019, - "src": "8309:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8072, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8005, - "src": "8290:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8290:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8290:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8003, - "id": 8076, - "nodeType": "Return", - "src": "8283:34:24" - } - ] - }, - "documentation": null, - "functionSelector": "1e34b9cc", - "id": 8078, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7998, - "modifierName": { - "argumentTypes": null, - "id": 7997, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "7535:16:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7535:16:24" - }, - { - "arguments": null, - "id": 8000, - "modifierName": { - "argumentTypes": null, - "id": 7999, - "name": "dodoNotClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "7552:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7552:13:24" - } - ], - "name": "withdrawAllBaseTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7995, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8078, - "src": "7516:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7994, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7515:12:24" - }, - "returnParameters": { - "id": 8003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8002, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8078, - "src": "7575:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7575:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7574:9:24" - }, - "scope": 8369, - "src": "7489:835:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8093, - "nodeType": "Block", - "src": "8446:70:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8089, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8080, - "src": "8496:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8090, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8082, - "src": "8502:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8086, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "8469:20:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8085, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8456:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8456:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 10516, - "src": "8456:39:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8456:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8092, - "nodeType": "ExpressionStatement", - "src": "8456:53:24" - } - ] - }, - "documentation": null, - "id": 8094, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintBaseCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8080, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8094, - "src": "8407:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8079, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8407:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8082, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8094, - "src": "8421:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8081, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8421:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8406:30:24" - }, - "returnParameters": { - "id": 8084, - "nodeType": "ParameterList", - "parameters": [], - "src": "8446:0:24" - }, - "scope": 8369, - "src": "8381:135:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8109, - "nodeType": "Block", - "src": "8588:71:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8105, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8096, - "src": "8639:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8106, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "8645:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8102, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "8611:21:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8101, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8598:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8598:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 10516, - "src": "8598:40:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8598:54:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8108, - "nodeType": "ExpressionStatement", - "src": "8598:54:24" - } - ] - }, - "documentation": null, - "id": 8110, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintQuoteCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8096, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "8549:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8549:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8098, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "8563:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8563:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8548:30:24" - }, - "returnParameters": { - "id": 8100, - "nodeType": "ParameterList", - "parameters": [], - "src": "8588:0:24" - }, - "scope": 8369, - "src": "8522:137:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8125, - "nodeType": "Block", - "src": "8730:70:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8121, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "8780:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8122, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "8786:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8118, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "8753:20:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8117, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8740:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8740:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "8740:39:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8740:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8124, - "nodeType": "ExpressionStatement", - "src": "8740:53:24" - } - ] - }, - "documentation": null, - "id": 8126, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnBaseCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8112, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8126, - "src": "8691:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8691:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8114, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8126, - "src": "8705:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8705:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8690:30:24" - }, - "returnParameters": { - "id": 8116, - "nodeType": "ParameterList", - "parameters": [], - "src": "8730:0:24" - }, - "scope": 8369, - "src": "8665:135:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8141, - "nodeType": "Block", - "src": "8872:71:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8137, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8128, - "src": "8923:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8138, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8130, - "src": "8929:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8134, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "8895:21:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8133, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "8882:12:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 8135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8882:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 8136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "8882:40:24", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 8139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8882:54:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8140, - "nodeType": "ExpressionStatement", - "src": "8882:54:24" - } - ] - }, - "documentation": null, - "id": 8142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnQuoteCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8128, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8142, - "src": "8833:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8833:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8130, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8142, - "src": "8847:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8847:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8832:30:24" - }, - "returnParameters": { - "id": 8132, - "nodeType": "ParameterList", - "parameters": [], - "src": "8872:0:24" - }, - "scope": 8369, - "src": "8806:137:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8180, - "nodeType": "Block", - "src": "9078:301:24", - "statements": [ - { - "assignments": [ - 8150 - ], - "declarations": [ - { - "constant": false, - "id": 8150, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8180, - "src": "9088:24:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9088:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8153, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8151, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "9115:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9115:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9088:48:24" - }, - { - "assignments": [ - 8155, - null - ], - "declarations": [ - { - "constant": false, - "id": 8155, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8180, - "src": "9147:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9147:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 8158, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8156, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "9171:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 8157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9171:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9146:44:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8159, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8150, - "src": "9204:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9224:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9204:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8165, - "nodeType": "IfStatement", - "src": "9200:60:24", - "trueBody": { - "id": 8164, - "nodeType": "Block", - "src": "9227:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9248:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8148, - "id": 8163, - "nodeType": "Return", - "src": "9241:8:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 8176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8166, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "9269:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8174, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8150, - "src": "9329:16:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8171, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8155, - "src": "9313:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8168, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8144, - "src": "9305:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8167, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "9281:23:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9281:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "9281:31:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9281:43:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "9281:47:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9281:65:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9269:77:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8177, - "nodeType": "ExpressionStatement", - "src": "9269:77:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 8178, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "9363:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8148, - "id": 8179, - "nodeType": "Return", - "src": "9356:16:24" - } - ] - }, - "documentation": null, - "functionSelector": "95faa5f6", - "id": 8181, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLpBaseBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8144, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8181, - "src": "9026:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9026:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9025:12:24" - }, - "returnParameters": { - "id": 8148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8147, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8181, - "src": "9059:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9059:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9058:19:24" - }, - "scope": 8369, - "src": "9000:379:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8219, - "nodeType": "Block", - "src": "9464:308:24", - "statements": [ - { - "assignments": [ - 8189 - ], - "declarations": [ - { - "constant": false, - "id": 8189, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8219, - "src": "9474:25:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9474:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8192, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8190, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "9502:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9502:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9474:50:24" - }, - { - "assignments": [ - null, - 8194 - ], - "declarations": [ - null, - { - "constant": false, - "id": 8194, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8219, - "src": "9537:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9537:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8197, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8195, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "9560:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 8196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9560:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9534:45:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8198, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "9593:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9614:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9593:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8204, - "nodeType": "IfStatement", - "src": "9589:61:24", - "trueBody": { - "id": 8203, - "nodeType": "Block", - "src": "9617:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9638:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8187, - "id": 8202, - "nodeType": "Return", - "src": "9631:8:24" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 8215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8205, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8186, - "src": "9659:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8213, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "9721:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8210, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8194, - "src": "9704:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8207, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "9696:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8206, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "9671:24:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 8208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "9671:32:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:45:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "9671:49:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:68:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9659:80:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8216, - "nodeType": "ExpressionStatement", - "src": "9659:80:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 8217, - "name": "lpBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8186, - "src": "9756:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8187, - "id": 8218, - "nodeType": "Return", - "src": "9749:16:24" - } - ] - }, - "documentation": null, - "functionSelector": "36a53bbb", - "id": 8220, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLpQuoteBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8183, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8220, - "src": "9412:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9412:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9411:12:24" - }, - "returnParameters": { - "id": 8187, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8186, - "mutability": "mutable", - "name": "lpBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8220, - "src": "9445:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9444:19:24" - }, - "scope": 8369, - "src": "9385:387:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8293, - "nodeType": "Block", - "src": "9865:877:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8228, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "9883:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8229, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "9893:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9883:25:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748", - "id": 8231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9910:31:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_QUOTE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8227, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9875:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9875:67:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8233, - "nodeType": "ExpressionStatement", - "src": "9875:67:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8234, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "9956:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8235, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9970:5:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9970:13:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9970:23:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9956:37:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8291, - "nodeType": "Block", - "src": "10703:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10724:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8226, - "id": 8290, - "nodeType": "Return", - "src": "10717:8:24" - } - ] - }, - "id": 8292, - "nodeType": "IfStatement", - "src": "9952:784:24", - "trueBody": { - "id": 8288, - "nodeType": "Block", - "src": "9995:702:24", - "statements": [ - { - "assignments": [ - 8240 - ], - "declarations": [ - { - "constant": false, - "id": 8240, - "mutability": "mutable", - "name": "spareBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10009:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10009:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8245, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8243, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "10048:26:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8241, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "10029:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10029:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10029:46:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10009:66:24" - }, - { - "assignments": [ - 8247 - ], - "declarations": [ - { - "constant": false, - "id": 8247, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10089:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10089:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8250, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8248, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "10105:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10105:16:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10089:32:24" - }, - { - "assignments": [ - 8252 - ], - "declarations": [ - { - "constant": false, - "id": 8252, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10135:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10135:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8258, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8255, - "name": "spareBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8240, - "src": "10172:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8256, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8247, - "src": "10183:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8253, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "10156:11:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "10156:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10156:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10135:54:24" - }, - { - "assignments": [ - 8260 - ], - "declarations": [ - { - "constant": false, - "id": 8260, - "mutability": "mutable", - "name": "targetQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10203:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10203:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8267, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8263, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "10284:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8264, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "10317:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8265, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8252, - "src": "10338:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8261, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "10225:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "10225:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10225:137:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10203:159:24" - }, - { - "assignments": [ - 8269 - ], - "declarations": [ - { - "constant": false, - "id": 8269, - "mutability": "mutable", - "name": "targetQuoteWithWithdraw", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8288, - "src": "10430:31:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10430:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8279, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8274, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "10543:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8272, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "10523:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10523:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10523:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8276, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "10568:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8277, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8252, - "src": "10589:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8270, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "10464:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "10464:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10464:149:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10430:183:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8284, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "10678:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8282, - "name": "targetQuoteWithWithdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8269, - "src": "10650:23:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "10650:27:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10650:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8280, - "name": "targetQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8260, - "src": "10634:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10634:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10634:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8226, - "id": 8287, - "nodeType": "Return", - "src": "10627:59:24" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "0c9f7bd0", - "id": 8294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getWithdrawQuotePenalty", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8222, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8294, - "src": "9811:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9811:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9810:16:24" - }, - "returnParameters": { - "id": 8226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8225, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8294, - "src": "9848:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9848:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9847:17:24" - }, - "scope": 8369, - "src": "9778:964:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8367, - "nodeType": "Block", - "src": "10834:877:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8302, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8296, - "src": "10852:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8303, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "10862:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10852:24:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 8305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10878:30:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8301, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10844:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10844:65:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8307, - "nodeType": "ExpressionStatement", - "src": "10844:65:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8308, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "10923:10:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8309, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "10937:5:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "10937:13:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10937:23:24", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "10923:37:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8365, - "nodeType": "Block", - "src": "11672:33:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11693:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 8300, - "id": 8364, - "nodeType": "Return", - "src": "11686:8:24" - } - ] - }, - "id": 8366, - "nodeType": "IfStatement", - "src": "10919:786:24", - "trueBody": { - "id": 8362, - "nodeType": "Block", - "src": "10962:704:24", - "statements": [ - { - "assignments": [ - 8314 - ], - "declarations": [ - { - "constant": false, - "id": 8314, - "mutability": "mutable", - "name": "spareQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "10976:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10976:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8317, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "11017:27:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8315, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "10997:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "10997:19:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10997:48:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10976:69:24" - }, - { - "assignments": [ - 8321 - ], - "declarations": [ - { - "constant": false, - "id": 8321, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11059:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11059:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8324, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8322, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "11075:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11075:16:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11059:32:24" - }, - { - "assignments": [ - 8326 - ], - "declarations": [ - { - "constant": false, - "id": 8326, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11105:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11105:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8332, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8329, - "name": "spareQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8314, - "src": "11147:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8330, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8321, - "src": "11159:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8327, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "11126:11:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "11126:20:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11126:39:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11105:60:24" - }, - { - "assignments": [ - 8334 - ], - "declarations": [ - { - "constant": false, - "id": 8334, - "mutability": "mutable", - "name": "targetBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11179:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11179:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8341, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8337, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "11259:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8338, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "11291:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8339, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8326, - "src": "11312:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8335, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "11200:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "11200:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11200:136:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11179:157:24" - }, - { - "assignments": [ - 8343 - ], - "declarations": [ - { - "constant": false, - "id": 8343, - "mutability": "mutable", - "name": "targetBaseWithWithdraw", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8362, - "src": "11403:30:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11403:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8353, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8348, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8296, - "src": "11514:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8346, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "11495:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "11495:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11495:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8350, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "11539:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8351, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8326, - "src": "11560:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8344, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "11436:8:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "11436:41:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11436:148:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11403:181:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8358, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8296, - "src": "11647:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8356, - "name": "targetBaseWithWithdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "11620:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "11620:26:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11620:34:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8354, - "name": "targetBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8334, - "src": "11605:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "11605:14:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11605:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8300, - "id": 8361, - "nodeType": "Return", - "src": "11598:57:24" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "ee5150b3", - "id": 8368, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getWithdrawBasePenalty", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8296, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8368, - "src": "10780:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10780:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10779:16:24" - }, - "returnParameters": { - "id": 8300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8299, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8368, - "src": "10817:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10817:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10816:17:24" - }, - "scope": 8369, - "src": "10748:963:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 8370, - "src": "618:11095:24" - } - ], - "src": "78:11636:24" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.683Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "LiquidityProvider" - }, - "userdoc": { - "methods": {}, - "notice": "Functions for liquidity provider operations" - } -} \ No newline at end of file diff --git a/build-v1/contracts/LockedTokenVault.json b/build-v1/contracts/LockedTokenVault.json deleted file mode 100644 index 0976bd6..0000000 --- a/build-v1/contracts/LockedTokenVault.json +++ /dev/null @@ -1,14437 +0,0 @@ -{ - "contractName": "LockedTokenVault", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_startReleaseTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_releaseDuration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_cliffRate", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "origin", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "claimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Claim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_CLIFF_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DISTRIBUTE_FINISHED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_RELEASE_DURATION_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_START_RELEASE_TIME_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_UNDISTRIBUTED_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finishDistribute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "holderList", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountList", - "type": "uint256[]" - } - ], - "name": "grant", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - } - ], - "name": "recall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "transferLockedToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isReleaseStart", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - } - ], - "name": "getOriginBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - } - ], - "name": "getClaimedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - } - ], - "name": "getClaimableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - } - ], - "name": "getRemainingBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "getRemainingRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_startReleaseTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_releaseDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_cliffRate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"origin\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_CLIFF_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DISTRIBUTE_FINISHED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_RELEASE_DURATION_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_START_RELEASE_TIME_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_UNDISTRIBUTED_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finishDistribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getClaimableBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getClaimedBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getOriginBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getRemainingBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"getRemainingRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"holderList\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountList\",\"type\":\"uint256[]\"}],\"name\":\"grant\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isReleaseStart\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"recall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferLockedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"LockedTokenVault\"},\"userdoc\":{\"methods\":{},\"notice\":\"Lock Token and release it linearly\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/LockedTokenVault.sol\":\"LockedTokenVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/LockedTokenVault.sol\":{\"keccak256\":\"0x074409a43d84164fc48bab73d869e4696711eb74b43b4959af61f408c4519451\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8f066b0447fd4fbf01309c1e788f2b580da53296622c9232bd2bc2fa6e04f621\",\"dweb:/ipfs/QmakNtbKmxbnJ6XJq6ewUt3VSzhDz5GeZdyaG25eRgRhCL\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506040516110f13803806110f183398101604081905261002f916100aa565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b0319166001600160a01b0395909516949094179093556006919091556007556008556100f3565b600080600080608085870312156100bf578384fd5b84516001600160a01b03811681146100d5578485fd5b60208601516040870151606090970151919890975090945092505050565b610fef806101026000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80637db41eae116100b8578063cd32f0861161007c578063cd32f08614610250578063cf0e80fe14610258578063d18284961461026b578063e5612b3b1461027e578063ef90364214610286578063f2fde38b1461028e57610141565b80637db41eae146101fc5780638456db151461020f578063b6b55f2514610217578063c2ae16801461022a578063ca4305191461023d57610141565b80632a8b04801161010a5780632a8b0480146101a75780632e1a7d4d146101af5780634e71d92d146101c45780634e71e0c8146101cc5780636a4de5d1146101d4578063710475f6146101e757610141565b80621bf8f61461014657806306def8021461016f57806316048bc41461018257806324b3274114610197578063294dafc01461019f575b600080fd5b610159610154366004610c58565b6102a1565b6040516101669190610f9a565b60405180910390f35b61015961017d366004610c58565b6102dc565b61018a610330565b6040516101669190610d59565b61015961033f565b610159610345565b61015961034b565b6101c26101bd366004610d08565b610351565b005b6101c26103b3565b6101c2610449565b6101596101e2366004610d08565b6104d7565b6101ef61057f565b6040516101669190610daa565b6101c261020a366004610c58565b610588565b61018a61062c565b6101c2610225366004610d08565b61063b565b6101c2610238366004610c7f565b610694565b6101c261024b366004610c58565b6107d6565b6101ef61088a565b610159610266366004610c58565b610893565b610159610279366004610c58565b6108ae565b6101c26108c9565b610159610902565b6101c261029c366004610c58565b610908565b6000806102ad426104d7565b6001600160a01b0384166000908152600360205260409020549091506102d390826109b3565b9150505b919050565b6000806102e8836102a1565b6001600160a01b0384166000908152600460209081526040808320546003909252909120549192506102d391610324908463ffffffff6109df16565b9063ffffffff6109df16565b6000546001600160a01b031681565b60055481565b60085481565b60065481565b6000546001600160a01b031633146103845760405162461bcd60e51b815260040161037b90610eb0565b60405180910390fd5b600554610397908263ffffffff6109df16565b6005556000546103b0906001600160a01b031682610a07565b50565b60006103be336102dc565b90506103ca3382610a07565b336000908152600460205260409020546103ea908263ffffffff610a2816565b336000818152600460208181526040808420869055600382529283902054919052905191927f45c072aa05b9853b5a993de7a28bc332ee01404a628cec1a23ce0f659f842ef19261043e9291908690610fa3565b60405180910390a250565b6001546001600160a01b031633146104735760405162461bcd60e51b815260040161037b90610db5565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006006548210156104f25750670de0b6b3a76400006102d7565b6000610509600654846109df90919063ffffffff16565b90506007548110156105755760075460009061052b908363ffffffff6109df16565b905061056c60075461056083610554600854670de0b6b3a76400006109df90919063ffffffff16565b9063ffffffff610a5416565b9063ffffffff610a8e16565b925050506102d7565b60009150506102d7565b60095460ff1681565b33600090815260036020526040808220546001600160a01b03841683529120546105b79163ffffffff610a2816565b6001600160a01b038216600081815260036020908152604080832094909455338252600490528281205491815291909120546105f89163ffffffff610a2816565b6001600160a01b03909116600090815260046020818152604080842094909455338352600381528383208390555290812055565b6001546001600160a01b031681565b6000546001600160a01b031633146106655760405162461bcd60e51b815260040161037b90610eb0565b60005461067b906001600160a01b031682610ab8565b60055461068e908263ffffffff610a2816565b60055550565b6000546001600160a01b031633146106be5760405162461bcd60e51b815260040161037b90610eb0565b8281146106dd5760405162461bcd60e51b815260040161037b90610f63565b6000805b848110156107b85761074a8484838181106106f857fe5b905060200201356003600089898681811061070f57fe5b90506020020160208101906107249190610c58565b6001600160a01b031681526020810191909152604001600020549063ffffffff610a2816565b6003600088888581811061075a57fe5b905060200201602081019061076f9190610c58565b6001600160a01b031681526020810191909152604001600020556107ae84848381811061079857fe5b9050602002013583610a2890919063ffffffff16565b91506001016106e1565b506005546107cc908263ffffffff6109df16565b6005555050505050565b6000546001600160a01b031633146108005760405162461bcd60e51b815260040161037b90610eb0565b60095460ff16156108235760405162461bcd60e51b815260040161037b90610ddc565b6001600160a01b0381166000908152600460209081526040808320546003909252909120546005546108609291610324919063ffffffff610a2816565b6005556001600160a01b031660009081526003602090815260408083208390556004909152812055565b60065442101590565b6001600160a01b031660009081526004602052604090205490565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146108f35760405162461bcd60e51b815260040161037b90610eb0565b6009805460ff19166001179055565b60075481565b6000546001600160a01b031633146109325760405162461bcd60e51b815260040161037b90610eb0565b6001600160a01b0381166109585760405162461bcd60e51b815260040161037b90610e89565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000670de0b6b3a76400006109ce848463ffffffff610a5416565b816109d557fe5b0490505b92915050565b600082821115610a015760405162461bcd60e51b815260040161037b90610e66565b50900390565b600254610a24906001600160a01b0316838363ffffffff610ad616565b5050565b600082820183811015610a4d5760405162461bcd60e51b815260040161037b90610ed3565b9392505050565b600082610a63575060006109d9565b82820282848281610a7057fe5b0414610a4d5760405162461bcd60e51b815260040161037b90610f40565b6000808211610aaf5760405162461bcd60e51b815260040161037b90610e3e565b8183816109d557fe5b600254610a24906001600160a01b031683308463ffffffff610b3116565b610b2c8363a9059cbb60e01b8484604051602401610af5929190610d91565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610b58565b505050565b610b52846323b872dd60e01b858585604051602401610af593929190610d6d565b50505050565b60006060836001600160a01b031683604051610b749190610d20565b6000604051808303816000865af19150503d8060008114610bb1576040519150601f19603f3d011682016040523d82523d6000602084013e610bb6565b606091505b509150915081610bd85760405162461bcd60e51b815260040161037b90610e09565b805115610b525780806020019051810190610bf39190610ce8565b610b525760405162461bcd60e51b815260040161037b90610ef6565b60008083601f840112610c20578182fd5b50813567ffffffffffffffff811115610c37578182fd5b6020830191508360208083028501011115610c5157600080fd5b9250929050565b600060208284031215610c69578081fd5b81356001600160a01b0381168114610a4d578182fd5b60008060008060408587031215610c94578283fd5b843567ffffffffffffffff80821115610cab578485fd5b610cb788838901610c0f565b90965094506020870135915080821115610ccf578384fd5b50610cdc87828801610c0f565b95989497509550505050565b600060208284031215610cf9578081fd5b81518015158114610a4d578182fd5b600060208284031215610d19578081fd5b5035919050565b60008251815b81811015610d405760208186018101518583015201610d26565b81811115610d4e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b602080825260139082015272111254d5149250955511481192539254d21151606a1b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252601c908201527f6261746368206772616e74206c656e677468206e6f74206d6174636800000000604082015260600190565b90815260200190565b928352602083019190915260408201526060019056fea26469706673582212207f11995cc6a066ee4583627cb81b22e62285d1aed6171a41fe0fee5d40f41c5464736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101415760003560e01c80637db41eae116100b8578063cd32f0861161007c578063cd32f08614610250578063cf0e80fe14610258578063d18284961461026b578063e5612b3b1461027e578063ef90364214610286578063f2fde38b1461028e57610141565b80637db41eae146101fc5780638456db151461020f578063b6b55f2514610217578063c2ae16801461022a578063ca4305191461023d57610141565b80632a8b04801161010a5780632a8b0480146101a75780632e1a7d4d146101af5780634e71d92d146101c45780634e71e0c8146101cc5780636a4de5d1146101d4578063710475f6146101e757610141565b80621bf8f61461014657806306def8021461016f57806316048bc41461018257806324b3274114610197578063294dafc01461019f575b600080fd5b610159610154366004610c58565b6102a1565b6040516101669190610f9a565b60405180910390f35b61015961017d366004610c58565b6102dc565b61018a610330565b6040516101669190610d59565b61015961033f565b610159610345565b61015961034b565b6101c26101bd366004610d08565b610351565b005b6101c26103b3565b6101c2610449565b6101596101e2366004610d08565b6104d7565b6101ef61057f565b6040516101669190610daa565b6101c261020a366004610c58565b610588565b61018a61062c565b6101c2610225366004610d08565b61063b565b6101c2610238366004610c7f565b610694565b6101c261024b366004610c58565b6107d6565b6101ef61088a565b610159610266366004610c58565b610893565b610159610279366004610c58565b6108ae565b6101c26108c9565b610159610902565b6101c261029c366004610c58565b610908565b6000806102ad426104d7565b6001600160a01b0384166000908152600360205260409020549091506102d390826109b3565b9150505b919050565b6000806102e8836102a1565b6001600160a01b0384166000908152600460209081526040808320546003909252909120549192506102d391610324908463ffffffff6109df16565b9063ffffffff6109df16565b6000546001600160a01b031681565b60055481565b60085481565b60065481565b6000546001600160a01b031633146103845760405162461bcd60e51b815260040161037b90610eb0565b60405180910390fd5b600554610397908263ffffffff6109df16565b6005556000546103b0906001600160a01b031682610a07565b50565b60006103be336102dc565b90506103ca3382610a07565b336000908152600460205260409020546103ea908263ffffffff610a2816565b336000818152600460208181526040808420869055600382529283902054919052905191927f45c072aa05b9853b5a993de7a28bc332ee01404a628cec1a23ce0f659f842ef19261043e9291908690610fa3565b60405180910390a250565b6001546001600160a01b031633146104735760405162461bcd60e51b815260040161037b90610db5565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006006548210156104f25750670de0b6b3a76400006102d7565b6000610509600654846109df90919063ffffffff16565b90506007548110156105755760075460009061052b908363ffffffff6109df16565b905061056c60075461056083610554600854670de0b6b3a76400006109df90919063ffffffff16565b9063ffffffff610a5416565b9063ffffffff610a8e16565b925050506102d7565b60009150506102d7565b60095460ff1681565b33600090815260036020526040808220546001600160a01b03841683529120546105b79163ffffffff610a2816565b6001600160a01b038216600081815260036020908152604080832094909455338252600490528281205491815291909120546105f89163ffffffff610a2816565b6001600160a01b03909116600090815260046020818152604080842094909455338352600381528383208390555290812055565b6001546001600160a01b031681565b6000546001600160a01b031633146106655760405162461bcd60e51b815260040161037b90610eb0565b60005461067b906001600160a01b031682610ab8565b60055461068e908263ffffffff610a2816565b60055550565b6000546001600160a01b031633146106be5760405162461bcd60e51b815260040161037b90610eb0565b8281146106dd5760405162461bcd60e51b815260040161037b90610f63565b6000805b848110156107b85761074a8484838181106106f857fe5b905060200201356003600089898681811061070f57fe5b90506020020160208101906107249190610c58565b6001600160a01b031681526020810191909152604001600020549063ffffffff610a2816565b6003600088888581811061075a57fe5b905060200201602081019061076f9190610c58565b6001600160a01b031681526020810191909152604001600020556107ae84848381811061079857fe5b9050602002013583610a2890919063ffffffff16565b91506001016106e1565b506005546107cc908263ffffffff6109df16565b6005555050505050565b6000546001600160a01b031633146108005760405162461bcd60e51b815260040161037b90610eb0565b60095460ff16156108235760405162461bcd60e51b815260040161037b90610ddc565b6001600160a01b0381166000908152600460209081526040808320546003909252909120546005546108609291610324919063ffffffff610a2816565b6005556001600160a01b031660009081526003602090815260408083208390556004909152812055565b60065442101590565b6001600160a01b031660009081526004602052604090205490565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146108f35760405162461bcd60e51b815260040161037b90610eb0565b6009805460ff19166001179055565b60075481565b6000546001600160a01b031633146109325760405162461bcd60e51b815260040161037b90610eb0565b6001600160a01b0381166109585760405162461bcd60e51b815260040161037b90610e89565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000670de0b6b3a76400006109ce848463ffffffff610a5416565b816109d557fe5b0490505b92915050565b600082821115610a015760405162461bcd60e51b815260040161037b90610e66565b50900390565b600254610a24906001600160a01b0316838363ffffffff610ad616565b5050565b600082820183811015610a4d5760405162461bcd60e51b815260040161037b90610ed3565b9392505050565b600082610a63575060006109d9565b82820282848281610a7057fe5b0414610a4d5760405162461bcd60e51b815260040161037b90610f40565b6000808211610aaf5760405162461bcd60e51b815260040161037b90610e3e565b8183816109d557fe5b600254610a24906001600160a01b031683308463ffffffff610b3116565b610b2c8363a9059cbb60e01b8484604051602401610af5929190610d91565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610b58565b505050565b610b52846323b872dd60e01b858585604051602401610af593929190610d6d565b50505050565b60006060836001600160a01b031683604051610b749190610d20565b6000604051808303816000865af19150503d8060008114610bb1576040519150601f19603f3d011682016040523d82523d6000602084013e610bb6565b606091505b509150915081610bd85760405162461bcd60e51b815260040161037b90610e09565b805115610b525780806020019051810190610bf39190610ce8565b610b525760405162461bcd60e51b815260040161037b90610ef6565b60008083601f840112610c20578182fd5b50813567ffffffffffffffff811115610c37578182fd5b6020830191508360208083028501011115610c5157600080fd5b9250929050565b600060208284031215610c69578081fd5b81356001600160a01b0381168114610a4d578182fd5b60008060008060408587031215610c94578283fd5b843567ffffffffffffffff80821115610cab578485fd5b610cb788838901610c0f565b90965094506020870135915080821115610ccf578384fd5b50610cdc87828801610c0f565b95989497509550505050565b600060208284031215610cf9578081fd5b81518015158114610a4d578182fd5b600060208284031215610d19578081fd5b5035919050565b60008251815b81811015610d405760208186018101518583015201610d26565b81811115610d4e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b602080825260139082015272111254d5149250955511481192539254d21151606a1b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252601c908201527f6261746368206772616e74206c656e677468206e6f74206d6174636800000000604082015260600190565b90815260200190565b928352602083019190915260408201526060019056fea26469706673582212207f11995cc6a066ee4583627cb81b22e62285d1aed6171a41fe0fee5d40f41c5464736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "480:5216:47:-:0;;;1532:311;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;;757;792:41;;757:7;;792:41;1688:7:47;:16;;-1:-1:-1;;;;;;1688:16:47;-1:-1:-1;;;;;1688:16:47;;;;;;;;;;;1714:20;:40;;;;1764:18;:37;1811:12;:25;480:5216;;287:672:-1;;;;;453:3;441:9;432:7;428:23;424:33;421:2;;;-1:-1;;460:12;421:2;83:13;;-1:-1;;;;;1126:54;;1330:35;;1320:2;;-1:-1;;1369:12;1320:2;623;673:22;;224:13;742:2;792:22;;224:13;861:2;911:22;;;224:13;512:74;;224:13;;-1:-1;224:13;;-1:-1;415:544;-1:-1;;;415:544;;480:5216:47;;;;;;", - "deployedSourceMap": "480:5216:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4637:223;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4399:232;;;;;;;;;:::i;251:22:38:-;;;:::i;:::-;;;;;;;;726:37:47;;;:::i;849:27::-;;;:::i;769:35::-;;;:::i;2026:173::-;;;;;;;;;:::i;:::-;;3572:404;;;:::i;1072:225:38:-;;;:::i;4866:502:47:-;;;;;;;;;:::i;883:33::-;;;:::i;:::-;;;;;;;;3262:304;;;;;;;;;:::i;279:26:38:-;;;:::i;1849:171:47:-;;;;;;;;;:::i;2347:569::-;;;;;;;;;:::i;2922:289::-;;;;;;;;;:::i;4021:118::-;;;:::i;4271:122::-;;;;;;;;;:::i;4145:120::-;;;;;;;;;:::i;2205:92::-;;;:::i;810:33::-;;;:::i;846:220:38:-;;;;;;;;;:::i;4637:223:47:-;4703:7;4722:22;4747:34;4765:15;4747:17;:34::i;:::-;-1:-1:-1;;;;;4814:22:47;;;;;;:14;:22;;;;;;4722:59;;-1:-1:-1;4798:55:47;;4722:59;4798:15;:55::i;:::-;4791:62;;;4637:223;;;;:::o;4399:232::-;4465:7;4484:22;4509:27;4529:6;4509:19;:27::i;:::-;-1:-1:-1;;;;;4600:23:47;;;;;;:15;:23;;;;;;;;;4553:14;:22;;;;;;;4484:52;;-1:-1:-1;4553:71:47;;:42;;4484:52;4553:42;:26;:42;:::i;:::-;:46;:71;:46;:71;:::i;251:22:38:-;;;-1:-1:-1;;;;;251:22:38;;:::o;726:37:47:-;;;;:::o;849:27::-;;;;:::o;769:35::-;;;;:::o;2026:173::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;;;;;;;;;2114:22:47::1;::::0;:34:::1;::::0;2141:6;2114:34:::1;:26;:34;:::i;:::-;2089:22;:59:::0;2176:7:::1;::::0;2158:34:::1;::::0;-1:-1:-1;;;;;2176:7:47::1;2185:6:::0;2158:17:::1;:34::i;:::-;2026:173:::0;:::o;3572:404::-;3608:22;3633:31;3653:10;3633:19;:31::i;:::-;3608:56;;3674:45;3692:10;3704:14;3674:17;:45::i;:::-;3775:10;3759:27;;;;:15;:27;;;;;;:47;;3791:14;3759:47;:31;:47;:::i;:::-;3745:10;3729:27;;;;:15;:27;;;;;;;;:77;;;3864:14;:26;;;;;;;3904:27;;;3821:148;;3745:10;;3821:148;;;;3864:26;3729:77;3945:14;;3821:148;;;;;;;;;;3572:404;:::o;1072:225:38:-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;;1235:21:38;;;-1:-1:-1;;;;;1245:11:38;;1235:21;;;;1266:24;;;1072:225::o;4866:502:47:-;4933:7;4968:20;;4956:9;:32;4952:85;;;-1:-1:-1;379:6:36;5004:22:47;;4952:85;5046:16;5065:35;5079:20;;5065:9;:13;;:35;;;;:::i;:::-;5046:54;;5125:18;;5114:8;:29;5110:252;;;5183:18;;5159:21;;5183:32;;5206:8;5183:32;:22;:32;:::i;:::-;5159:56;;5236:76;5293:18;;5236:52;5274:13;5236:33;5256:12;;379:6:36;5236:19:47;;:33;;;;:::i;:::-;:37;:52;:37;:52;:::i;:::-;:56;:76;:56;:76;:::i;:::-;5229:83;;;;;;5110:252;5350:1;5343:8;;;;;883:33;;;;;;:::o;3262:304::-;3381:10;3366:26;;;;:14;:26;;;;;;;-1:-1:-1;;;;;3343:18:47;;;;;;;:50;;;:22;:50;:::i;:::-;-1:-1:-1;;;;;3322:18:47;;;;;;:14;:18;;;;;;;;:71;;;;3465:10;3449:27;;:15;:27;;;;;;3425:19;;;;;;;;:52;;;:23;:52;:::i;:::-;-1:-1:-1;;;;;3403:19:47;;;;;;;:15;:19;;;;;;;;:74;;;;3503:10;3488:26;;:14;:26;;;;;:30;;;3528:27;;;;:31;3262:304::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;1849:171:47:-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;1928:7:47::1;::::0;1911:33:::1;::::0;-1:-1:-1;;;;;1928:7:47::1;1937:6:::0;1911:16:::1;:33::i;:::-;1979:22;::::0;:34:::1;::::0;2006:6;1979:34:::1;:26;:34;:::i;:::-;1954:22;:59:::0;-1:-1:-1;1849:171:47:o;2347:569::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;2481:38:47;;::::1;2473:79;;;;-1:-1:-1::0;;;2473:79:47::1;;;;;;;;;2562:14;::::0;2590:251:::1;2610:21:::0;;::::1;2590:251;;;2734:48;2768:10;;2779:1;2768:13;;;;;;;;;;;;;2734:14;:29;2749:10;;2760:1;2749:13;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2734:29:47::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;2734:29:47;;;:48:::1;:33;:48;:::i;:::-;2702:14;:29;2717:10;;2728:1;2717:13;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2702:29:47::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;2702:29:47;:80;2805:25:::1;2816:10:::0;;2827:1;2816:13;;::::1;;;;;;;;;;;2805:6;:10;;:25;;;;:::i;:::-;2796:34:::0;-1:-1:-1;2633:3:47::1;;2590:251;;;-1:-1:-1::0;2875:22:47::1;::::0;:34:::1;::::0;2902:6;2875:34:::1;:26;:34;:::i;:::-;2850:22;:59:::0;-1:-1:-1;;;;;2347:569:47:o;2922:289::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;1414:21:47::1;::::0;::::1;;1413:22;1405:54;;;;-1:-1:-1::0;;;1405:54:47::1;;;;;;;;;-1:-1:-1::0;;;;;3098:23:47;::::2;;::::0;;;:15:::2;:23;::::0;;;;;;;;3057:14:::2;:22:::0;;;;;;;3030::::2;::::0;:101:::2;::::0;3098:23;3030:50:::2;::::0;:22;:50:::2;:26;:50;:::i;:101::-;3005:22;:126:::0;-1:-1:-1;;;;;3141:22:47::2;3166:1;3141:22:::0;;;:14:::2;:22;::::0;;;;;;;:26;;;3177:15:::2;:23:::0;;;;;:27;2922:289::o;4021:118::-;4112:20;;4093:15;:39;;4021:118;:::o;4271:122::-;-1:-1:-1;;;;;4363:23:47;4337:7;4363:23;;;:15;:23;;;;;;;4271:122::o;4145:120::-;-1:-1:-1;;;;;4236:22:47;4210:7;4236:22;;;:14;:22;;;;;;;4145:120::o;2205:92::-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;2262:21:47::1;:28:::0;;-1:-1:-1;;2262:28:47::1;2286:4;2262:28;::::0;;2205:92::o;810:33::-;;;;:::o;846:220:38:-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;;-1:-1:-1::0;;;920:48:38::1;;;;;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;;;474:26;;392:115;;;;;:::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;5573:121:47:-;5654:7;;5647:40;;-1:-1:-1;;;;;5654:7:47;5676:2;5680:6;5647:40;:28;:40;:::i;:::-;5573:121;;:::o;1074:157:41:-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;281:217::-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;504:138;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;5424:143:47;5506:7;;5499:61;;-1:-1:-1;;;;;5506:7:47;5532:4;5546;5553:6;5499:61;:32;:61;:::i;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;1015:275::-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;1153:130;1015:275;;;;:::o;2335:1027::-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;160:352:-1;;;290:3;283:4;275:6;271:17;267:27;257:2;;-1:-1;;298:12;257:2;-1:-1;328:20;;368:18;357:30;;354:2;;;-1:-1;;390:12;354:2;434:4;426:6;422:17;410:29;;485:3;434:4;;469:6;465:17;426:6;451:32;;448:41;445:2;;;502:1;;492:12;445:2;250:262;;;;;;1170:241;;1274:2;1262:9;1253:7;1249:23;1245:32;1242:2;;;-1:-1;;1280:12;1242:2;72:20;;-1:-1;;;;;14511:54;;14992:35;;14982:2;;-1:-1;;15031:12;1418:678;;;;;1609:2;1597:9;1588:7;1584:23;1580:32;1577:2;;;-1:-1;;1615:12;1577:2;1673:17;1660:31;1711:18;;1703:6;1700:30;1697:2;;;-1:-1;;1733:12;1697:2;1771:80;1843:7;1834:6;1823:9;1819:22;1771:80;;;1761:90;;-1:-1;1761:90;-1:-1;1916:2;1901:18;;1888:32;;-1:-1;1929:30;;;1926:2;;;-1:-1;;1962:12;1926:2;;2000:80;2072:7;2063:6;2052:9;2048:22;2000:80;;;1571:525;;;;-1:-1;1990:90;-1:-1;;;;1571:525;2103:257;;2215:2;2203:9;2194:7;2190:23;2186:32;2183:2;;;-1:-1;;2221:12;2183:2;979:6;973:13;15138:5;14423:13;14416:21;15116:5;15113:32;15103:2;;-1:-1;;15149:12;2367:241;;2471:2;2459:9;2450:7;2446:23;2442:32;2439:2;;;-1:-1;;2477:12;2439:2;-1:-1;1100:20;;2433:175;-1:-1;2433:175;6958:271;;3006:5;13893:12;-1:-1;14729:101;14743:6;14740:1;14737:13;14729:101;;;3150:4;14810:11;;;;;14804:18;14791:11;;;14784:39;14758:10;14729:101;;;14845:6;14842:1;14839:13;14836:2;;;-1:-1;14901:6;14896:3;14892:16;14885:27;14836:2;-1:-1;3181:16;;;;;7092:137;-1:-1;;7092:137;7236:222;-1:-1;;;;;14511:54;;;;2686:37;;7363:2;7348:18;;7334:124;7465:444;-1:-1;;;;;14511:54;;;2686:37;;14511:54;;;;7812:2;7797:18;;2686:37;7895:2;7880:18;;6909:37;;;;7648:2;7633:18;;7619:290;7916:333;-1:-1;;;;;14511:54;;;;2686:37;;8235:2;8220:18;;6909:37;8071:2;8056:18;;8042:207;8256:210;14423:13;;14416:21;2800:34;;8377:2;8362:18;;8348:118;8473:416;8673:2;8687:47;;;3434:2;8658:18;;;14191:19;-1:-1;;;14231:14;;;3450:36;3505:12;;;8644:245;8896:416;9096:2;9110:47;;;3756:2;9081:18;;;14191:19;-1:-1;;;14231:14;;;3772:42;3833:12;;;9067:245;9319:416;9519:2;9533:47;;;9504:18;;;14191:19;4120:34;14231:14;;;4100:55;4174:12;;;9490:245;9742:416;9942:2;9956:47;;;4425:2;9927:18;;;14191:19;-1:-1;;;14231:14;;;4441:37;4497:12;;;9913:245;10165:416;10365:2;10379:47;;;4748:1;10350:18;;;14191:19;-1:-1;;;14231:14;;;4763:32;4814:12;;;10336:245;10588:416;10788:2;10802:47;;;5065:2;10773:18;;;14191:19;-1:-1;;;14231:14;;;5081:36;5136:12;;;10759:245;11011:416;11211:2;11225:47;;;5387:1;11196:18;;;14191:19;-1:-1;;;14231:14;;;5402:32;5453:12;;;11182:245;11434:416;11634:2;11648:47;;;5704:1;11619:18;;;14191:19;-1:-1;;;14231:14;;;5719:32;5770:12;;;11605:245;11857:416;12057:2;12071:47;;;6021:2;12042:18;;;14191:19;6057:34;14231:14;;;6037:55;-1:-1;;;6112:12;;;6105:34;6158:12;;;12028:245;12280:416;12480:2;12494:47;;;6409:1;12465:18;;;14191:19;-1:-1;;;14231:14;;;6424:32;6475:12;;;12451:245;12703:416;12903:2;12917:47;;;6726:2;12888:18;;;14191:19;6762:30;14231:14;;;6742:51;6812:12;;;12874:245;13126:222;6909:37;;;13253:2;13238:18;;13224:124;13355:444;6909:37;;;13702:2;13687:18;;6909:37;;;;13785:2;13770:18;;6909:37;13538:2;13523:18;;13509:290", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {Ownable} from \"../lib/Ownable.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\n\n\n/**\n * @title LockedTokenVault\n * @author DODO Breeder\n *\n * @notice Lock Token and release it linearly\n */\n\ncontract LockedTokenVault is Ownable {\n using SafeMath for uint256;\n using SafeERC20 for IERC20;\n\n address _TOKEN_;\n\n mapping(address => uint256) internal originBalances;\n mapping(address => uint256) internal claimedBalances;\n\n uint256 public _UNDISTRIBUTED_AMOUNT_;\n uint256 public _START_RELEASE_TIME_;\n uint256 public _RELEASE_DURATION_;\n uint256 public _CLIFF_RATE_;\n\n bool public _DISTRIBUTE_FINISHED_;\n\n // ============ Modifiers ============\n\n event Claim(address indexed holder, uint256 origin, uint256 claimed, uint256 amount);\n\n // ============ Modifiers ============\n\n modifier beforeStartRelease() {\n require(block.timestamp < _START_RELEASE_TIME_, \"RELEASE START\");\n _;\n }\n\n modifier afterStartRelease() {\n require(block.timestamp >= _START_RELEASE_TIME_, \"RELEASE NOT START\");\n _;\n }\n\n modifier distributeNotFinished() {\n require(!_DISTRIBUTE_FINISHED_, \"DISTRIBUTE FINISHED\");\n _;\n }\n\n // ============ Init Functions ============\n\n constructor(\n address _token,\n uint256 _startReleaseTime,\n uint256 _releaseDuration,\n uint256 _cliffRate\n ) public {\n _TOKEN_ = _token;\n _START_RELEASE_TIME_ = _startReleaseTime;\n _RELEASE_DURATION_ = _releaseDuration;\n _CLIFF_RATE_ = _cliffRate;\n }\n\n function deposit(uint256 amount) external onlyOwner {\n _tokenTransferIn(_OWNER_, amount);\n _UNDISTRIBUTED_AMOUNT_ = _UNDISTRIBUTED_AMOUNT_.add(amount);\n }\n\n function withdraw(uint256 amount) external onlyOwner {\n _UNDISTRIBUTED_AMOUNT_ = _UNDISTRIBUTED_AMOUNT_.sub(amount);\n _tokenTransferOut(_OWNER_, amount);\n }\n\n function finishDistribute() external onlyOwner {\n _DISTRIBUTE_FINISHED_ = true;\n }\n\n // ============ For Owner ============\n\n function grant(address[] calldata holderList, uint256[] calldata amountList)\n external\n onlyOwner\n {\n require(holderList.length == amountList.length, \"batch grant length not match\");\n uint256 amount = 0;\n for (uint256 i = 0; i < holderList.length; ++i) {\n // for saving gas, no event for grant\n originBalances[holderList[i]] = originBalances[holderList[i]].add(amountList[i]);\n amount = amount.add(amountList[i]);\n }\n _UNDISTRIBUTED_AMOUNT_ = _UNDISTRIBUTED_AMOUNT_.sub(amount);\n }\n\n function recall(address holder) external onlyOwner distributeNotFinished {\n _UNDISTRIBUTED_AMOUNT_ = _UNDISTRIBUTED_AMOUNT_.add(originBalances[holder]).sub(\n claimedBalances[holder]\n );\n originBalances[holder] = 0;\n claimedBalances[holder] = 0;\n }\n\n // ============ For Holder ============\n\n function transferLockedToken(address to) external {\n originBalances[to] = originBalances[to].add(originBalances[msg.sender]);\n claimedBalances[to] = claimedBalances[to].add(claimedBalances[msg.sender]);\n\n originBalances[msg.sender] = 0;\n claimedBalances[msg.sender] = 0;\n }\n\n function claim() external {\n uint256 claimableToken = getClaimableBalance(msg.sender);\n _tokenTransferOut(msg.sender, claimableToken);\n claimedBalances[msg.sender] = claimedBalances[msg.sender].add(claimableToken);\n emit Claim(\n msg.sender,\n originBalances[msg.sender],\n claimedBalances[msg.sender],\n claimableToken\n );\n }\n\n // ============ View ============\n\n function isReleaseStart() external view returns (bool) {\n return block.timestamp >= _START_RELEASE_TIME_;\n }\n\n function getOriginBalance(address holder) external view returns (uint256) {\n return originBalances[holder];\n }\n\n function getClaimedBalance(address holder) external view returns (uint256) {\n return claimedBalances[holder];\n }\n\n function getClaimableBalance(address holder) public view returns (uint256) {\n uint256 remainingToken = getRemainingBalance(holder);\n return originBalances[holder].sub(remainingToken).sub(claimedBalances[holder]);\n }\n\n function getRemainingBalance(address holder) public view returns (uint256) {\n uint256 remainingRatio = getRemainingRatio(block.timestamp);\n return DecimalMath.mul(originBalances[holder], remainingRatio);\n }\n\n function getRemainingRatio(uint256 timestamp) public view returns (uint256) {\n if (timestamp < _START_RELEASE_TIME_) {\n return DecimalMath.ONE;\n }\n uint256 timePast = timestamp.sub(_START_RELEASE_TIME_);\n if (timePast < _RELEASE_DURATION_) {\n uint256 remainingTime = _RELEASE_DURATION_.sub(timePast);\n return DecimalMath.ONE.sub(_CLIFF_RATE_).mul(remainingTime).div(_RELEASE_DURATION_);\n } else {\n return 0;\n }\n }\n\n // ============ Internal Helper ============\n\n function _tokenTransferIn(address from, uint256 amount) internal {\n IERC20(_TOKEN_).safeTransferFrom(from, address(this), amount);\n }\n\n function _tokenTransferOut(address to, uint256 amount) internal {\n IERC20(_TOKEN_).safeTransfer(to, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/LockedTokenVault.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/LockedTokenVault.sol", - "exportedSymbols": { - "LockedTokenVault": [ - 13789 - ] - }, - "id": 13790, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 13257, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:47" - }, - { - "id": 13258, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:47" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 13260, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11624, - "src": "136:45:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13259, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 13262, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11079, - "src": "182:51:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13261, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 13264, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11272, - "src": "234:43:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13263, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:7:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 13266, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11441, - "src": "278:47:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13265, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "286:9:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 13268, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 10608, - "src": "326:42:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13267, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "334:6:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 13270, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "509:7:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 13271, - "nodeType": "InheritanceSpecifier", - "src": "509:7:47" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": { - "id": 13269, - "nodeType": "StructuredDocumentation", - "src": "371:107:47", - "text": " @title LockedTokenVault\n @author DODO Breeder\n @notice Lock Token and release it linearly" - }, - "fullyImplemented": true, - "id": 13789, - "linearizedBaseContracts": [ - 13789, - 11271 - ], - "name": "LockedTokenVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 13274, - "libraryName": { - "contractScope": null, - "id": 13272, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "529:8:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "523:27:47", - "typeName": { - "id": 13273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "542:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 13277, - "libraryName": { - "contractScope": null, - "id": 13275, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "561:9:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "555:27:47", - "typeName": { - "contractScope": null, - "id": 13276, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "575:6:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "id": 13279, - "mutability": "mutable", - "name": "_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "588:15:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "588:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13283, - "mutability": "mutable", - "name": "originBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "610:51:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 13282, - "keyType": { - "id": 13280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "618:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "610:27:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "629:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13287, - "mutability": "mutable", - "name": "claimedBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "667:52:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 13286, - "keyType": { - "id": 13284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "667:27:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "686:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "24b32741", - "id": 13289, - "mutability": "mutable", - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "726:37:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2a8b0480", - "id": 13291, - "mutability": "mutable", - "name": "_START_RELEASE_TIME_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "769:35:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ef903642", - "id": 13293, - "mutability": "mutable", - "name": "_RELEASE_DURATION_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "810:33:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "810:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "294dafc0", - "id": 13295, - "mutability": "mutable", - "name": "_CLIFF_RATE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "849:27:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "710475f6", - "id": 13297, - "mutability": "mutable", - "name": "_DISTRIBUTE_FINISHED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "883:33:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "883:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 13307, - "name": "Claim", - "nodeType": "EventDefinition", - "parameters": { - "id": 13306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13299, - "indexed": true, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "979:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "979:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13301, - "indexed": false, - "mutability": "mutable", - "name": "origin", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "1003:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1003:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13303, - "indexed": false, - "mutability": "mutable", - "name": "claimed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "1019:15:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1019:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13305, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "1036:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1036:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "978:73:47" - }, - "src": "967:85:47" - }, - { - "body": { - "id": 13318, - "nodeType": "Block", - "src": "1132:92:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13310, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1150:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1150:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13312, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "1168:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1150:38:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "52454c45415345205354415254", - "id": 13314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1190:15:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3a9cf605e456558d9595f46a318dee5ca93aa714e1d590d8f58a0f0f80293c70", - "typeString": "literal_string \"RELEASE START\"" - }, - "value": "RELEASE START" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3a9cf605e456558d9595f46a318dee5ca93aa714e1d590d8f58a0f0f80293c70", - "typeString": "literal_string \"RELEASE START\"" - } - ], - "id": 13309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1142:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1142:64:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13316, - "nodeType": "ExpressionStatement", - "src": "1142:64:47" - }, - { - "id": 13317, - "nodeType": "PlaceholderStatement", - "src": "1216:1:47" - } - ] - }, - "documentation": null, - "id": 13319, - "name": "beforeStartRelease", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 13308, - "nodeType": "ParameterList", - "parameters": [], - "src": "1129:2:47" - }, - "src": "1102:122:47", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13330, - "nodeType": "Block", - "src": "1259:97:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13322, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1277:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1277:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13324, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "1296:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1277:39:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "52454c45415345204e4f54205354415254", - "id": 13326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1318:19:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1c6d0d51cf86e52bbb81749e15149e11905f59c177a806a97066f0f5294a1a7", - "typeString": "literal_string \"RELEASE NOT START\"" - }, - "value": "RELEASE NOT START" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d1c6d0d51cf86e52bbb81749e15149e11905f59c177a806a97066f0f5294a1a7", - "typeString": "literal_string \"RELEASE NOT START\"" - } - ], - "id": 13321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1269:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1269:69:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13328, - "nodeType": "ExpressionStatement", - "src": "1269:69:47" - }, - { - "id": 13329, - "nodeType": "PlaceholderStatement", - "src": "1348:1:47" - } - ] - }, - "documentation": null, - "id": 13331, - "name": "afterStartRelease", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 13320, - "nodeType": "ParameterList", - "parameters": [], - "src": "1256:2:47" - }, - "src": "1230:126:47", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13340, - "nodeType": "Block", - "src": "1395:82:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1413:22:47", - "subExpression": { - "argumentTypes": null, - "id": 13334, - "name": "_DISTRIBUTE_FINISHED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13297, - "src": "1414:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444953545249425554452046494e4953484544", - "id": 13336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1437:21:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1dff10d5356930ac471064449e1abe9c8226eb37527d5e20e7814e5c73b7417c", - "typeString": "literal_string \"DISTRIBUTE FINISHED\"" - }, - "value": "DISTRIBUTE FINISHED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1dff10d5356930ac471064449e1abe9c8226eb37527d5e20e7814e5c73b7417c", - "typeString": "literal_string \"DISTRIBUTE FINISHED\"" - } - ], - "id": 13333, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1405:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1405:54:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13338, - "nodeType": "ExpressionStatement", - "src": "1405:54:47" - }, - { - "id": 13339, - "nodeType": "PlaceholderStatement", - "src": "1469:1:47" - } - ] - }, - "documentation": null, - "id": 13341, - "name": "distributeNotFinished", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 13332, - "nodeType": "ParameterList", - "parameters": [], - "src": "1392:2:47" - }, - "src": "1362:115:47", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13368, - "nodeType": "Block", - "src": "1678:165:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13352, - "name": "_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13279, - "src": "1688:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13353, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13343, - "src": "1698:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1688:16:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13355, - "nodeType": "ExpressionStatement", - "src": "1688:16:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13356, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "1714:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13357, - "name": "_startReleaseTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13345, - "src": "1737:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1714:40:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13359, - "nodeType": "ExpressionStatement", - "src": "1714:40:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13360, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "1764:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13361, - "name": "_releaseDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13347, - "src": "1785:16:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1764:37:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13363, - "nodeType": "ExpressionStatement", - "src": "1764:37:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13364, - "name": "_CLIFF_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13295, - "src": "1811:12:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13365, - "name": "_cliffRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13349, - "src": "1826:10:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1811:25:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13367, - "nodeType": "ExpressionStatement", - "src": "1811:25:47" - } - ] - }, - "documentation": null, - "id": 13369, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13343, - "mutability": "mutable", - "name": "_token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1553:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1553:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13345, - "mutability": "mutable", - "name": "_startReleaseTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1577:25:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1577:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13347, - "mutability": "mutable", - "name": "_releaseDuration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1612:24:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1612:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13349, - "mutability": "mutable", - "name": "_cliffRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1646:18:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1646:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1543:127:47" - }, - "returnParameters": { - "id": 13351, - "nodeType": "ParameterList", - "parameters": [], - "src": "1678:0:47" - }, - "scope": 13789, - "src": "1532:311:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13388, - "nodeType": "Block", - "src": "1901:119:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13377, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1928:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13378, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13371, - "src": "1937:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13376, - "name": "_tokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13772, - "src": "1911:16:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 13379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1911:33:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13380, - "nodeType": "ExpressionStatement", - "src": "1911:33:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13381, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "1954:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13384, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13371, - "src": "2006:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13382, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "1979:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1979:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1979:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1954:59:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13387, - "nodeType": "ExpressionStatement", - "src": "1954:59:47" - } - ] - }, - "documentation": null, - "functionSelector": "b6b55f25", - "id": 13389, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13374, - "modifierName": { - "argumentTypes": null, - "id": 13373, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1891:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1891:9:47" - } - ], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13371, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13389, - "src": "1866:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1866:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1865:16:47" - }, - "returnParameters": { - "id": 13375, - "nodeType": "ParameterList", - "parameters": [], - "src": "1901:0:47" - }, - "scope": 13789, - "src": "1849:171:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13408, - "nodeType": "Block", - "src": "2079:120:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13396, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2089:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13399, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13391, - "src": "2141:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13397, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2114:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2114:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2114:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2089:59:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13402, - "nodeType": "ExpressionStatement", - "src": "2089:59:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13404, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "2176:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13405, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13391, - "src": "2185:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13403, - "name": "_tokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13788, - "src": "2158:17:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 13406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2158:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13407, - "nodeType": "ExpressionStatement", - "src": "2158:34:47" - } - ] - }, - "documentation": null, - "functionSelector": "2e1a7d4d", - "id": 13409, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13394, - "modifierName": { - "argumentTypes": null, - "id": 13393, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2069:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2069:9:47" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13391, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13409, - "src": "2044:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13390, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2044:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2043:16:47" - }, - "returnParameters": { - "id": 13395, - "nodeType": "ParameterList", - "parameters": [], - "src": "2079:0:47" - }, - "scope": 13789, - "src": "2026:173:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13418, - "nodeType": "Block", - "src": "2252:45:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13414, - "name": "_DISTRIBUTE_FINISHED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13297, - "src": "2262:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2286:4:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2262:28:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13417, - "nodeType": "ExpressionStatement", - "src": "2262:28:47" - } - ] - }, - "documentation": null, - "functionSelector": "e5612b3b", - "id": 13419, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13412, - "modifierName": { - "argumentTypes": null, - "id": 13411, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2242:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2242:9:47" - } - ], - "name": "finishDistribute", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13410, - "nodeType": "ParameterList", - "parameters": [], - "src": "2230:2:47" - }, - "returnParameters": { - "id": 13413, - "nodeType": "ParameterList", - "parameters": [], - "src": "2252:0:47" - }, - "scope": 13789, - "src": "2205:92:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13489, - "nodeType": "Block", - "src": "2463:453:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13431, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2481:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2481:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13433, - "name": "amountList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13425, - "src": "2502:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 13434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2502:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2481:38:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "6261746368206772616e74206c656e677468206e6f74206d61746368", - "id": 13436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2521:30:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f97cdefb3af96b4ac4dd2d950eccc5c5e9183dc3cb145adbdd9254602e054240", - "typeString": "literal_string \"batch grant length not match\"" - }, - "value": "batch grant length not match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f97cdefb3af96b4ac4dd2d950eccc5c5e9183dc3cb145adbdd9254602e054240", - "typeString": "literal_string \"batch grant length not match\"" - } - ], - "id": 13430, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2473:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2473:79:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13438, - "nodeType": "ExpressionStatement", - "src": "2473:79:47" - }, - { - "assignments": [ - 13440 - ], - "declarations": [ - { - "constant": false, - "id": 13440, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13489, - "src": "2562:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2562:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13442, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 13441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2579:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2562:18:47" - }, - { - "body": { - "id": 13480, - "nodeType": "Block", - "src": "2638:203:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13454, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "2702:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13458, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13455, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2717:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13457, - "indexExpression": { - "argumentTypes": null, - "id": 13456, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2728:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2717:13:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2702:29:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13465, - "name": "amountList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13425, - "src": "2768:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 13467, - "indexExpression": { - "argumentTypes": null, - "id": 13466, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2779:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2768:13:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13459, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "2734:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13463, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13460, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2749:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13462, - "indexExpression": { - "argumentTypes": null, - "id": 13461, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2760:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2749:13:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2734:29:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2734:33:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2734:48:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2702:80:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13470, - "nodeType": "ExpressionStatement", - "src": "2702:80:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13471, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13440, - "src": "2796:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13474, - "name": "amountList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13425, - "src": "2816:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 13476, - "indexExpression": { - "argumentTypes": null, - "id": 13475, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2827:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2816:13:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13472, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13440, - "src": "2805:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2805:10:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2805:25:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2796:34:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13479, - "nodeType": "ExpressionStatement", - "src": "2796:34:47" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13447, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2610:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13448, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2614:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2614:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2610:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13481, - "initializationExpression": { - "assignments": [ - 13444 - ], - "declarations": [ - { - "constant": false, - "id": 13444, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13481, - "src": "2595:9:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2595:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13446, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 13445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2607:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2595:13:47" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 13452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "2633:3:47", - "subExpression": { - "argumentTypes": null, - "id": 13451, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2635:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13453, - "nodeType": "ExpressionStatement", - "src": "2633:3:47" - }, - "nodeType": "ForStatement", - "src": "2590:251:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13482, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2850:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13485, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13440, - "src": "2902:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13483, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2875:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2875:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2875:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2850:59:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13488, - "nodeType": "ExpressionStatement", - "src": "2850:59:47" - } - ] - }, - "documentation": null, - "functionSelector": "c2ae1680", - "id": 13490, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13428, - "modifierName": { - "argumentTypes": null, - "id": 13427, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2449:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2449:9:47" - } - ], - "name": "grant", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13422, - "mutability": "mutable", - "name": "holderList", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13490, - "src": "2362:29:47", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 13420, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2362:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13421, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2362:9:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13425, - "mutability": "mutable", - "name": "amountList", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13490, - "src": "2393:29:47", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 13423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2393:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13424, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2393:9:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2361:62:47" - }, - "returnParameters": { - "id": 13429, - "nodeType": "ParameterList", - "parameters": [], - "src": "2463:0:47" - }, - "scope": 13789, - "src": "2347:569:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13525, - "nodeType": "Block", - "src": "2995:216:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13499, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "3005:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13507, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3098:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13509, - "indexExpression": { - "argumentTypes": null, - "id": 13508, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3114:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3098:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13502, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3057:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13504, - "indexExpression": { - "argumentTypes": null, - "id": 13503, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3072:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3057:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13500, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "3030:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3030:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3030:50:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3030:54:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3030:101:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3005:126:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13512, - "nodeType": "ExpressionStatement", - "src": "3005:126:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13513, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3141:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13515, - "indexExpression": { - "argumentTypes": null, - "id": 13514, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3156:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3141:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3166:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3141:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13518, - "nodeType": "ExpressionStatement", - "src": "3141:26:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13519, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3177:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13521, - "indexExpression": { - "argumentTypes": null, - "id": 13520, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3193:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3177:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3203:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3177:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13524, - "nodeType": "ExpressionStatement", - "src": "3177:27:47" - } - ] - }, - "documentation": null, - "functionSelector": "ca430519", - "id": 13526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13495, - "modifierName": { - "argumentTypes": null, - "id": 13494, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2963:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2963:9:47" - }, - { - "arguments": null, - "id": 13497, - "modifierName": { - "argumentTypes": null, - "id": 13496, - "name": "distributeNotFinished", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13341, - "src": "2973:21:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2973:21:47" - } - ], - "name": "recall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13492, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13526, - "src": "2938:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2938:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2937:16:47" - }, - "returnParameters": { - "id": 13498, - "nodeType": "ParameterList", - "parameters": [], - "src": "2995:0:47" - }, - "scope": 13789, - "src": "2922:289:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13573, - "nodeType": "Block", - "src": "3312:254:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13531, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3322:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13533, - "indexExpression": { - "argumentTypes": null, - "id": 13532, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3337:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3322:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13538, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3366:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13541, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13539, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3381:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3381:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3366:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13534, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3343:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13536, - "indexExpression": { - "argumentTypes": null, - "id": 13535, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3358:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3343:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3343:22:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3343:50:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3322:71:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13544, - "nodeType": "ExpressionStatement", - "src": "3322:71:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13545, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3403:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13547, - "indexExpression": { - "argumentTypes": null, - "id": 13546, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3419:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3403:19:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13552, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3449:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13555, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13553, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3465:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3465:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3449:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13548, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3425:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13550, - "indexExpression": { - "argumentTypes": null, - "id": 13549, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3441:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3425:19:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3425:23:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3425:52:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3403:74:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13558, - "nodeType": "ExpressionStatement", - "src": "3403:74:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13559, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3488:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13562, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13560, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3503:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3503:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3488:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3517:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3488:30:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13565, - "nodeType": "ExpressionStatement", - "src": "3488:30:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13566, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3528:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13569, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13567, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3544:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3544:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3528:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3558:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3528:31:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13572, - "nodeType": "ExpressionStatement", - "src": "3528:31:47" - } - ] - }, - "documentation": null, - "functionSelector": "7db41eae", - "id": 13574, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferLockedToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13528, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13574, - "src": "3291:10:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3291:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3290:12:47" - }, - "returnParameters": { - "id": 13530, - "nodeType": "ParameterList", - "parameters": [], - "src": "3312:0:47" - }, - "scope": 13789, - "src": "3262:304:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13617, - "nodeType": "Block", - "src": "3598:378:47", - "statements": [ - { - "assignments": [ - 13578 - ], - "declarations": [ - { - "constant": false, - "id": 13578, - "mutability": "mutable", - "name": "claimableToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13617, - "src": "3608:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3608:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13583, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13580, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3653:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3653:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 13579, - "name": "getClaimableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13679, - "src": "3633:19:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:31:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3608:56:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13585, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3692:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3692:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 13587, - "name": "claimableToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13578, - "src": "3704:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13584, - "name": "_tokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13788, - "src": "3674:17:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 13588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3674:45:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13589, - "nodeType": "ExpressionStatement", - "src": "3674:45:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13590, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3729:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13593, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13591, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3745:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3745:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3729:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13599, - "name": "claimableToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13578, - "src": "3791:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13594, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3759:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13597, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13595, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3775:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3775:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3759:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3759:31:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3759:47:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3729:77:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13602, - "nodeType": "ExpressionStatement", - "src": "3729:77:47" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13604, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3840:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3840:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13606, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3864:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13609, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3879:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3879:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3864:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13610, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3904:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13613, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13611, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3920:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3920:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3904:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13614, - "name": "claimableToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13578, - "src": "3945:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13603, - "name": "Claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13307, - "src": "3821:5:47", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 13615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3821:148:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13616, - "nodeType": "EmitStatement", - "src": "3816:153:47" - } - ] - }, - "documentation": null, - "functionSelector": "4e71d92d", - "id": 13618, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13575, - "nodeType": "ParameterList", - "parameters": [], - "src": "3586:2:47" - }, - "returnParameters": { - "id": 13576, - "nodeType": "ParameterList", - "parameters": [], - "src": "3598:0:47" - }, - "scope": 13789, - "src": "3572:404:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13628, - "nodeType": "Block", - "src": "4076:63:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13623, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4093:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4093:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13625, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "4112:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4093:39:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 13622, - "id": 13627, - "nodeType": "Return", - "src": "4086:46:47" - } - ] - }, - "documentation": null, - "functionSelector": "cd32f086", - "id": 13629, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isReleaseStart", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13619, - "nodeType": "ParameterList", - "parameters": [], - "src": "4044:2:47" - }, - "returnParameters": { - "id": 13622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13621, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13629, - "src": "4070:4:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13620, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4070:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4069:6:47" - }, - "scope": 13789, - "src": "4021:118:47", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13640, - "nodeType": "Block", - "src": "4219:46:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13636, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "4236:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13638, - "indexExpression": { - "argumentTypes": null, - "id": 13637, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13631, - "src": "4251:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4236:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13635, - "id": 13639, - "nodeType": "Return", - "src": "4229:29:47" - } - ] - }, - "documentation": null, - "functionSelector": "d1828496", - "id": 13641, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOriginBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13631, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13641, - "src": "4171:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4171:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4170:16:47" - }, - "returnParameters": { - "id": 13635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13634, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13641, - "src": "4210:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4210:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4209:9:47" - }, - "scope": 13789, - "src": "4145:120:47", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13652, - "nodeType": "Block", - "src": "4346:47:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13648, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "4363:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13650, - "indexExpression": { - "argumentTypes": null, - "id": 13649, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13643, - "src": "4379:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4363:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13647, - "id": 13651, - "nodeType": "Return", - "src": "4356:30:47" - } - ] - }, - "documentation": null, - "functionSelector": "cf0e80fe", - "id": 13653, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getClaimedBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13643, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13653, - "src": "4298:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4298:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4297:16:47" - }, - "returnParameters": { - "id": 13647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13646, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13653, - "src": "4337:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4337:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4336:9:47" - }, - "scope": 13789, - "src": "4271:122:47", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13678, - "nodeType": "Block", - "src": "4474:157:47", - "statements": [ - { - "assignments": [ - 13661 - ], - "declarations": [ - { - "constant": false, - "id": 13661, - "mutability": "mutable", - "name": "remainingToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13678, - "src": "4484:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4484:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13665, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13663, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13655, - "src": "4529:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13662, - "name": "getRemainingBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13702, - "src": "4509:19:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4509:27:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4484:52:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13673, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "4600:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13675, - "indexExpression": { - "argumentTypes": null, - "id": 13674, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13655, - "src": "4616:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4600:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13670, - "name": "remainingToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13661, - "src": "4580:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13666, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "4553:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13668, - "indexExpression": { - "argumentTypes": null, - "id": 13667, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13655, - "src": "4568:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4553:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4553:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4553:42:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4553:46:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4553:71:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13659, - "id": 13677, - "nodeType": "Return", - "src": "4546:78:47" - } - ] - }, - "documentation": null, - "functionSelector": "06def802", - "id": 13679, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getClaimableBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13655, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13679, - "src": "4428:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4428:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4427:16:47" - }, - "returnParameters": { - "id": 13659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13658, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13679, - "src": "4465:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4465:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4464:9:47" - }, - "scope": 13789, - "src": "4399:232:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13701, - "nodeType": "Block", - "src": "4712:148:47", - "statements": [ - { - "assignments": [ - 13687 - ], - "declarations": [ - { - "constant": false, - "id": 13687, - "mutability": "mutable", - "name": "remainingRatio", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13701, - "src": "4722:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4722:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13692, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13689, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4765:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4765:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13688, - "name": "getRemainingRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13752, - "src": "4747:17:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 13691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4747:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4722:59:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13695, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "4814:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13697, - "indexExpression": { - "argumentTypes": null, - "id": 13696, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13681, - "src": "4829:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4814:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13698, - "name": "remainingRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13687, - "src": "4838:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13693, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4798:11:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 13694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "4798:15:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4798:55:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13685, - "id": 13700, - "nodeType": "Return", - "src": "4791:62:47" - } - ] - }, - "documentation": null, - "functionSelector": "001bf8f6", - "id": 13702, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRemainingBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13681, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13702, - "src": "4666:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13680, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4666:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4665:16:47" - }, - "returnParameters": { - "id": 13685, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13684, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13702, - "src": "4703:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4703:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4702:9:47" - }, - "scope": 13789, - "src": "4637:223:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13751, - "nodeType": "Block", - "src": "4942:426:47", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13709, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13704, - "src": "4956:9:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13710, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "4968:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4956:32:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13716, - "nodeType": "IfStatement", - "src": "4952:85:47", - "trueBody": { - "id": 13715, - "nodeType": "Block", - "src": "4990:47:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13712, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5011:11:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 13713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "5011:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13708, - "id": 13714, - "nodeType": "Return", - "src": "5004:22:47" - } - ] - } - }, - { - "assignments": [ - 13718 - ], - "declarations": [ - { - "constant": false, - "id": 13718, - "mutability": "mutable", - "name": "timePast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13751, - "src": "5046:16:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5046:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13723, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13721, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "5079:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13719, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13704, - "src": "5065:9:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5065:13:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5065:35:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5046:54:47" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13724, - "name": "timePast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13718, - "src": "5114:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13725, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "5125:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5114:29:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13749, - "nodeType": "Block", - "src": "5329:33:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5350:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 13708, - "id": 13748, - "nodeType": "Return", - "src": "5343:8:47" - } - ] - }, - "id": 13750, - "nodeType": "IfStatement", - "src": "5110:252:47", - "trueBody": { - "id": 13746, - "nodeType": "Block", - "src": "5145:178:47", - "statements": [ - { - "assignments": [ - 13728 - ], - "declarations": [ - { - "constant": false, - "id": 13728, - "mutability": "mutable", - "name": "remainingTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13746, - "src": "5159:21:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5159:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13733, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13731, - "name": "timePast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13718, - "src": "5206:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13729, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "5183:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5183:22:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5183:32:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5159:56:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13743, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "5293:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13740, - "name": "remainingTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13728, - "src": "5274:13:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13737, - "name": "_CLIFF_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13295, - "src": "5256:12:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13734, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5236:11:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 13735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "5236:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5236:19:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5236:33:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5236:37:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5236:52:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5236:56:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5236:76:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13708, - "id": 13745, - "nodeType": "Return", - "src": "5229:83:47" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "6a4de5d1", - "id": 13752, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRemainingRatio", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13704, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13752, - "src": "4893:17:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4893:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4892:19:47" - }, - "returnParameters": { - "id": 13708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13707, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13752, - "src": "4933:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4933:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4932:9:47" - }, - "scope": 13789, - "src": "4866:502:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13771, - "nodeType": "Block", - "src": "5489:78:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13763, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13754, - "src": "5532:4:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13766, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5546:4:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_LockedTokenVault_$13789", - "typeString": "contract LockedTokenVault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_LockedTokenVault_$13789", - "typeString": "contract LockedTokenVault" - } - ], - "id": 13765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5538:7:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 13764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5538:7:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 13767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5538:13:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13768, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13756, - "src": "5553:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13760, - "name": "_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13279, - "src": "5506:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13759, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5499:6:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 13761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:15:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 13762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "5499:32:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 13769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:61:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13770, - "nodeType": "ExpressionStatement", - "src": "5499:61:47" - } - ] - }, - "documentation": null, - "id": 13772, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tokenTransferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13754, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13772, - "src": "5450:12:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13753, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5450:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13756, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13772, - "src": "5464:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5464:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5449:30:47" - }, - "returnParameters": { - "id": 13758, - "nodeType": "ParameterList", - "parameters": [], - "src": "5489:0:47" - }, - "scope": 13789, - "src": "5424:143:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13787, - "nodeType": "Block", - "src": "5637:57:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13783, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13774, - "src": "5676:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13784, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13776, - "src": "5680:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13780, - "name": "_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13279, - "src": "5654:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13779, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5647:6:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 13781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5647:15:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 13782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "5647:28:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 13785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5647:40:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13786, - "nodeType": "ExpressionStatement", - "src": "5647:40:47" - } - ] - }, - "documentation": null, - "id": 13788, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tokenTransferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13774, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13788, - "src": "5600:10:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13773, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5600:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13776, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13788, - "src": "5612:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5612:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5599:28:47" - }, - "returnParameters": { - "id": 13778, - "nodeType": "ParameterList", - "parameters": [], - "src": "5637:0:47" - }, - "scope": 13789, - "src": "5573:121:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 13790, - "src": "480:5216:47" - } - ], - "src": "78:5619:47" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/LockedTokenVault.sol", - "exportedSymbols": { - "LockedTokenVault": [ - 13789 - ] - }, - "id": 13790, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 13257, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:47" - }, - { - "id": 13258, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:47" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 13260, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11624, - "src": "136:45:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13259, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 13262, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11079, - "src": "182:51:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13261, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 13264, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11272, - "src": "234:43:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13263, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:7:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 13266, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 11441, - "src": "278:47:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13265, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "286:9:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 13268, - "nodeType": "ImportDirective", - "scope": 13790, - "sourceUnit": 10608, - "src": "326:42:47", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 13267, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "334:6:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 13270, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "509:7:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 13271, - "nodeType": "InheritanceSpecifier", - "src": "509:7:47" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": { - "id": 13269, - "nodeType": "StructuredDocumentation", - "src": "371:107:47", - "text": " @title LockedTokenVault\n @author DODO Breeder\n @notice Lock Token and release it linearly" - }, - "fullyImplemented": true, - "id": 13789, - "linearizedBaseContracts": [ - 13789, - 11271 - ], - "name": "LockedTokenVault", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 13274, - "libraryName": { - "contractScope": null, - "id": 13272, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "529:8:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "523:27:47", - "typeName": { - "id": 13273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "542:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 13277, - "libraryName": { - "contractScope": null, - "id": 13275, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "561:9:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "555:27:47", - "typeName": { - "contractScope": null, - "id": 13276, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "575:6:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "id": 13279, - "mutability": "mutable", - "name": "_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "588:15:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "588:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13283, - "mutability": "mutable", - "name": "originBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "610:51:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 13282, - "keyType": { - "id": 13280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "618:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "610:27:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "629:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13287, - "mutability": "mutable", - "name": "claimedBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "667:52:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 13286, - "keyType": { - "id": 13284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "667:27:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 13285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "686:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "24b32741", - "id": 13289, - "mutability": "mutable", - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "726:37:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2a8b0480", - "id": 13291, - "mutability": "mutable", - "name": "_START_RELEASE_TIME_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "769:35:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "769:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ef903642", - "id": 13293, - "mutability": "mutable", - "name": "_RELEASE_DURATION_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "810:33:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "810:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "294dafc0", - "id": 13295, - "mutability": "mutable", - "name": "_CLIFF_RATE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "849:27:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "710475f6", - "id": 13297, - "mutability": "mutable", - "name": "_DISTRIBUTE_FINISHED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13789, - "src": "883:33:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "883:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 13307, - "name": "Claim", - "nodeType": "EventDefinition", - "parameters": { - "id": 13306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13299, - "indexed": true, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "979:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "979:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13301, - "indexed": false, - "mutability": "mutable", - "name": "origin", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "1003:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1003:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13303, - "indexed": false, - "mutability": "mutable", - "name": "claimed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "1019:15:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1019:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13305, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13307, - "src": "1036:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1036:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "978:73:47" - }, - "src": "967:85:47" - }, - { - "body": { - "id": 13318, - "nodeType": "Block", - "src": "1132:92:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13310, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1150:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1150:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13312, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "1168:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1150:38:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "52454c45415345205354415254", - "id": 13314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1190:15:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3a9cf605e456558d9595f46a318dee5ca93aa714e1d590d8f58a0f0f80293c70", - "typeString": "literal_string \"RELEASE START\"" - }, - "value": "RELEASE START" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3a9cf605e456558d9595f46a318dee5ca93aa714e1d590d8f58a0f0f80293c70", - "typeString": "literal_string \"RELEASE START\"" - } - ], - "id": 13309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1142:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1142:64:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13316, - "nodeType": "ExpressionStatement", - "src": "1142:64:47" - }, - { - "id": 13317, - "nodeType": "PlaceholderStatement", - "src": "1216:1:47" - } - ] - }, - "documentation": null, - "id": 13319, - "name": "beforeStartRelease", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 13308, - "nodeType": "ParameterList", - "parameters": [], - "src": "1129:2:47" - }, - "src": "1102:122:47", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13330, - "nodeType": "Block", - "src": "1259:97:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13322, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1277:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1277:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13324, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "1296:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1277:39:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "52454c45415345204e4f54205354415254", - "id": 13326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1318:19:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1c6d0d51cf86e52bbb81749e15149e11905f59c177a806a97066f0f5294a1a7", - "typeString": "literal_string \"RELEASE NOT START\"" - }, - "value": "RELEASE NOT START" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d1c6d0d51cf86e52bbb81749e15149e11905f59c177a806a97066f0f5294a1a7", - "typeString": "literal_string \"RELEASE NOT START\"" - } - ], - "id": 13321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1269:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1269:69:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13328, - "nodeType": "ExpressionStatement", - "src": "1269:69:47" - }, - { - "id": 13329, - "nodeType": "PlaceholderStatement", - "src": "1348:1:47" - } - ] - }, - "documentation": null, - "id": 13331, - "name": "afterStartRelease", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 13320, - "nodeType": "ParameterList", - "parameters": [], - "src": "1256:2:47" - }, - "src": "1230:126:47", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13340, - "nodeType": "Block", - "src": "1395:82:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1413:22:47", - "subExpression": { - "argumentTypes": null, - "id": 13334, - "name": "_DISTRIBUTE_FINISHED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13297, - "src": "1414:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444953545249425554452046494e4953484544", - "id": 13336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1437:21:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1dff10d5356930ac471064449e1abe9c8226eb37527d5e20e7814e5c73b7417c", - "typeString": "literal_string \"DISTRIBUTE FINISHED\"" - }, - "value": "DISTRIBUTE FINISHED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1dff10d5356930ac471064449e1abe9c8226eb37527d5e20e7814e5c73b7417c", - "typeString": "literal_string \"DISTRIBUTE FINISHED\"" - } - ], - "id": 13333, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1405:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1405:54:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13338, - "nodeType": "ExpressionStatement", - "src": "1405:54:47" - }, - { - "id": 13339, - "nodeType": "PlaceholderStatement", - "src": "1469:1:47" - } - ] - }, - "documentation": null, - "id": 13341, - "name": "distributeNotFinished", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 13332, - "nodeType": "ParameterList", - "parameters": [], - "src": "1392:2:47" - }, - "src": "1362:115:47", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13368, - "nodeType": "Block", - "src": "1678:165:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13352, - "name": "_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13279, - "src": "1688:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13353, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13343, - "src": "1698:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1688:16:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13355, - "nodeType": "ExpressionStatement", - "src": "1688:16:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13356, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "1714:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13357, - "name": "_startReleaseTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13345, - "src": "1737:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1714:40:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13359, - "nodeType": "ExpressionStatement", - "src": "1714:40:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13360, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "1764:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13361, - "name": "_releaseDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13347, - "src": "1785:16:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1764:37:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13363, - "nodeType": "ExpressionStatement", - "src": "1764:37:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13364, - "name": "_CLIFF_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13295, - "src": "1811:12:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 13365, - "name": "_cliffRate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13349, - "src": "1826:10:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1811:25:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13367, - "nodeType": "ExpressionStatement", - "src": "1811:25:47" - } - ] - }, - "documentation": null, - "id": 13369, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13343, - "mutability": "mutable", - "name": "_token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1553:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1553:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13345, - "mutability": "mutable", - "name": "_startReleaseTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1577:25:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1577:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13347, - "mutability": "mutable", - "name": "_releaseDuration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1612:24:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1612:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13349, - "mutability": "mutable", - "name": "_cliffRate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13369, - "src": "1646:18:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1646:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1543:127:47" - }, - "returnParameters": { - "id": 13351, - "nodeType": "ParameterList", - "parameters": [], - "src": "1678:0:47" - }, - "scope": 13789, - "src": "1532:311:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13388, - "nodeType": "Block", - "src": "1901:119:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13377, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1928:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13378, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13371, - "src": "1937:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13376, - "name": "_tokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13772, - "src": "1911:16:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 13379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1911:33:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13380, - "nodeType": "ExpressionStatement", - "src": "1911:33:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13381, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "1954:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13384, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13371, - "src": "2006:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13382, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "1979:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1979:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1979:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1954:59:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13387, - "nodeType": "ExpressionStatement", - "src": "1954:59:47" - } - ] - }, - "documentation": null, - "functionSelector": "b6b55f25", - "id": 13389, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13374, - "modifierName": { - "argumentTypes": null, - "id": 13373, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "1891:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1891:9:47" - } - ], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13371, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13389, - "src": "1866:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1866:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1865:16:47" - }, - "returnParameters": { - "id": 13375, - "nodeType": "ParameterList", - "parameters": [], - "src": "1901:0:47" - }, - "scope": 13789, - "src": "1849:171:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13408, - "nodeType": "Block", - "src": "2079:120:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13396, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2089:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13399, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13391, - "src": "2141:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13397, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2114:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2114:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2114:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2089:59:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13402, - "nodeType": "ExpressionStatement", - "src": "2089:59:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13404, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "2176:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13405, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13391, - "src": "2185:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13403, - "name": "_tokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13788, - "src": "2158:17:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 13406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2158:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13407, - "nodeType": "ExpressionStatement", - "src": "2158:34:47" - } - ] - }, - "documentation": null, - "functionSelector": "2e1a7d4d", - "id": 13409, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13394, - "modifierName": { - "argumentTypes": null, - "id": 13393, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2069:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2069:9:47" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13391, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13409, - "src": "2044:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13390, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2044:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2043:16:47" - }, - "returnParameters": { - "id": 13395, - "nodeType": "ParameterList", - "parameters": [], - "src": "2079:0:47" - }, - "scope": 13789, - "src": "2026:173:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13418, - "nodeType": "Block", - "src": "2252:45:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13414, - "name": "_DISTRIBUTE_FINISHED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13297, - "src": "2262:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 13415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2286:4:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2262:28:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13417, - "nodeType": "ExpressionStatement", - "src": "2262:28:47" - } - ] - }, - "documentation": null, - "functionSelector": "e5612b3b", - "id": 13419, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13412, - "modifierName": { - "argumentTypes": null, - "id": 13411, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2242:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2242:9:47" - } - ], - "name": "finishDistribute", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13410, - "nodeType": "ParameterList", - "parameters": [], - "src": "2230:2:47" - }, - "returnParameters": { - "id": 13413, - "nodeType": "ParameterList", - "parameters": [], - "src": "2252:0:47" - }, - "scope": 13789, - "src": "2205:92:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13489, - "nodeType": "Block", - "src": "2463:453:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13431, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2481:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2481:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13433, - "name": "amountList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13425, - "src": "2502:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 13434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2502:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2481:38:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "6261746368206772616e74206c656e677468206e6f74206d61746368", - "id": 13436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2521:30:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f97cdefb3af96b4ac4dd2d950eccc5c5e9183dc3cb145adbdd9254602e054240", - "typeString": "literal_string \"batch grant length not match\"" - }, - "value": "batch grant length not match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f97cdefb3af96b4ac4dd2d950eccc5c5e9183dc3cb145adbdd9254602e054240", - "typeString": "literal_string \"batch grant length not match\"" - } - ], - "id": 13430, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2473:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 13437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2473:79:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13438, - "nodeType": "ExpressionStatement", - "src": "2473:79:47" - }, - { - "assignments": [ - 13440 - ], - "declarations": [ - { - "constant": false, - "id": 13440, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13489, - "src": "2562:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2562:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13442, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 13441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2579:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2562:18:47" - }, - { - "body": { - "id": 13480, - "nodeType": "Block", - "src": "2638:203:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13454, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "2702:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13458, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13455, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2717:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13457, - "indexExpression": { - "argumentTypes": null, - "id": 13456, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2728:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2717:13:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2702:29:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13465, - "name": "amountList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13425, - "src": "2768:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 13467, - "indexExpression": { - "argumentTypes": null, - "id": 13466, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2779:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2768:13:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13459, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "2734:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13463, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13460, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2749:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13462, - "indexExpression": { - "argumentTypes": null, - "id": 13461, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2760:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2749:13:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2734:29:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2734:33:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2734:48:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2702:80:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13470, - "nodeType": "ExpressionStatement", - "src": "2702:80:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13471, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13440, - "src": "2796:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13474, - "name": "amountList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13425, - "src": "2816:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 13476, - "indexExpression": { - "argumentTypes": null, - "id": 13475, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2827:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2816:13:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13472, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13440, - "src": "2805:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2805:10:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2805:25:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2796:34:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13479, - "nodeType": "ExpressionStatement", - "src": "2796:34:47" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13447, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2610:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13448, - "name": "holderList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13422, - "src": "2614:10:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 13449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2614:17:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2610:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 13481, - "initializationExpression": { - "assignments": [ - 13444 - ], - "declarations": [ - { - "constant": false, - "id": 13444, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13481, - "src": "2595:9:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2595:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13446, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 13445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2607:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2595:13:47" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 13452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "2633:3:47", - "subExpression": { - "argumentTypes": null, - "id": 13451, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13444, - "src": "2635:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13453, - "nodeType": "ExpressionStatement", - "src": "2633:3:47" - }, - "nodeType": "ForStatement", - "src": "2590:251:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13482, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2850:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13485, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13440, - "src": "2902:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13483, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "2875:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2875:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2875:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2850:59:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13488, - "nodeType": "ExpressionStatement", - "src": "2850:59:47" - } - ] - }, - "documentation": null, - "functionSelector": "c2ae1680", - "id": 13490, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13428, - "modifierName": { - "argumentTypes": null, - "id": 13427, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2449:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2449:9:47" - } - ], - "name": "grant", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13422, - "mutability": "mutable", - "name": "holderList", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13490, - "src": "2362:29:47", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 13420, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2362:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 13421, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2362:9:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13425, - "mutability": "mutable", - "name": "amountList", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13490, - "src": "2393:29:47", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 13423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2393:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13424, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2393:9:47", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2361:62:47" - }, - "returnParameters": { - "id": 13429, - "nodeType": "ParameterList", - "parameters": [], - "src": "2463:0:47" - }, - "scope": 13789, - "src": "2347:569:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13525, - "nodeType": "Block", - "src": "2995:216:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 13499, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "3005:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13507, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3098:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13509, - "indexExpression": { - "argumentTypes": null, - "id": 13508, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3114:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3098:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13502, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3057:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13504, - "indexExpression": { - "argumentTypes": null, - "id": 13503, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3072:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3057:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13500, - "name": "_UNDISTRIBUTED_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13289, - "src": "3030:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3030:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3030:50:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3030:54:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3030:101:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3005:126:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13512, - "nodeType": "ExpressionStatement", - "src": "3005:126:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13513, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3141:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13515, - "indexExpression": { - "argumentTypes": null, - "id": 13514, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3156:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3141:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3166:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3141:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13518, - "nodeType": "ExpressionStatement", - "src": "3141:26:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13519, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3177:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13521, - "indexExpression": { - "argumentTypes": null, - "id": 13520, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13492, - "src": "3193:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3177:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3203:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3177:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13524, - "nodeType": "ExpressionStatement", - "src": "3177:27:47" - } - ] - }, - "documentation": null, - "functionSelector": "ca430519", - "id": 13526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 13495, - "modifierName": { - "argumentTypes": null, - "id": 13494, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "2963:9:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2963:9:47" - }, - { - "arguments": null, - "id": 13497, - "modifierName": { - "argumentTypes": null, - "id": 13496, - "name": "distributeNotFinished", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13341, - "src": "2973:21:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2973:21:47" - } - ], - "name": "recall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13492, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13526, - "src": "2938:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2938:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2937:16:47" - }, - "returnParameters": { - "id": 13498, - "nodeType": "ParameterList", - "parameters": [], - "src": "2995:0:47" - }, - "scope": 13789, - "src": "2922:289:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13573, - "nodeType": "Block", - "src": "3312:254:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 13543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13531, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3322:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13533, - "indexExpression": { - "argumentTypes": null, - "id": 13532, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3337:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3322:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13538, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3366:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13541, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13539, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3381:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3381:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3366:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13534, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3343:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13536, - "indexExpression": { - "argumentTypes": null, - "id": 13535, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3358:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3343:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3343:22:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3343:50:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3322:71:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13544, - "nodeType": "ExpressionStatement", - "src": "3322:71:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13545, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3403:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13547, - "indexExpression": { - "argumentTypes": null, - "id": 13546, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3419:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3403:19:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13552, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3449:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13555, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13553, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3465:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3465:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3449:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13548, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3425:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13550, - "indexExpression": { - "argumentTypes": null, - "id": 13549, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13528, - "src": "3441:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3425:19:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3425:23:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3425:52:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3403:74:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13558, - "nodeType": "ExpressionStatement", - "src": "3403:74:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13559, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3488:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13562, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13560, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3503:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3503:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3488:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3517:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3488:30:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13565, - "nodeType": "ExpressionStatement", - "src": "3488:30:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13566, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3528:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13569, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13567, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3544:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3544:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3528:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 13570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3558:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3528:31:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13572, - "nodeType": "ExpressionStatement", - "src": "3528:31:47" - } - ] - }, - "documentation": null, - "functionSelector": "7db41eae", - "id": 13574, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferLockedToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13528, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13574, - "src": "3291:10:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3291:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3290:12:47" - }, - "returnParameters": { - "id": 13530, - "nodeType": "ParameterList", - "parameters": [], - "src": "3312:0:47" - }, - "scope": 13789, - "src": "3262:304:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13617, - "nodeType": "Block", - "src": "3598:378:47", - "statements": [ - { - "assignments": [ - 13578 - ], - "declarations": [ - { - "constant": false, - "id": 13578, - "mutability": "mutable", - "name": "claimableToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13617, - "src": "3608:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3608:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13583, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13580, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3653:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3653:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 13579, - "name": "getClaimableBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13679, - "src": "3633:19:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:31:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3608:56:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13585, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3692:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3692:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 13587, - "name": "claimableToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13578, - "src": "3704:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13584, - "name": "_tokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13788, - "src": "3674:17:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 13588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3674:45:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13589, - "nodeType": "ExpressionStatement", - "src": "3674:45:47" - }, - { - "expression": { - "argumentTypes": null, - "id": 13601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13590, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3729:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13593, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13591, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3745:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3745:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3729:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13599, - "name": "claimableToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13578, - "src": "3791:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13594, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3759:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13597, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13595, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3775:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3775:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3759:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3759:31:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3759:47:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3729:77:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13602, - "nodeType": "ExpressionStatement", - "src": "3729:77:47" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13604, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3840:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3840:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13606, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "3864:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13609, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3879:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3879:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3864:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13610, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "3904:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13613, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13611, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3920:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 13612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3920:10:47", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3904:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13614, - "name": "claimableToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13578, - "src": "3945:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13603, - "name": "Claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13307, - "src": "3821:5:47", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 13615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3821:148:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13616, - "nodeType": "EmitStatement", - "src": "3816:153:47" - } - ] - }, - "documentation": null, - "functionSelector": "4e71d92d", - "id": 13618, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13575, - "nodeType": "ParameterList", - "parameters": [], - "src": "3586:2:47" - }, - "returnParameters": { - "id": 13576, - "nodeType": "ParameterList", - "parameters": [], - "src": "3598:0:47" - }, - "scope": 13789, - "src": "3572:404:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13628, - "nodeType": "Block", - "src": "4076:63:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13623, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4093:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4093:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 13625, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "4112:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4093:39:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 13622, - "id": 13627, - "nodeType": "Return", - "src": "4086:46:47" - } - ] - }, - "documentation": null, - "functionSelector": "cd32f086", - "id": 13629, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isReleaseStart", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13619, - "nodeType": "ParameterList", - "parameters": [], - "src": "4044:2:47" - }, - "returnParameters": { - "id": 13622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13621, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13629, - "src": "4070:4:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 13620, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4070:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4069:6:47" - }, - "scope": 13789, - "src": "4021:118:47", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13640, - "nodeType": "Block", - "src": "4219:46:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13636, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "4236:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13638, - "indexExpression": { - "argumentTypes": null, - "id": 13637, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13631, - "src": "4251:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4236:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13635, - "id": 13639, - "nodeType": "Return", - "src": "4229:29:47" - } - ] - }, - "documentation": null, - "functionSelector": "d1828496", - "id": 13641, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOriginBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13631, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13641, - "src": "4171:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4171:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4170:16:47" - }, - "returnParameters": { - "id": 13635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13634, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13641, - "src": "4210:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4210:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4209:9:47" - }, - "scope": 13789, - "src": "4145:120:47", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13652, - "nodeType": "Block", - "src": "4346:47:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13648, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "4363:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13650, - "indexExpression": { - "argumentTypes": null, - "id": 13649, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13643, - "src": "4379:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4363:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13647, - "id": 13651, - "nodeType": "Return", - "src": "4356:30:47" - } - ] - }, - "documentation": null, - "functionSelector": "cf0e80fe", - "id": 13653, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getClaimedBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13643, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13653, - "src": "4298:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4298:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4297:16:47" - }, - "returnParameters": { - "id": 13647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13646, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13653, - "src": "4337:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4337:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4336:9:47" - }, - "scope": 13789, - "src": "4271:122:47", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 13678, - "nodeType": "Block", - "src": "4474:157:47", - "statements": [ - { - "assignments": [ - 13661 - ], - "declarations": [ - { - "constant": false, - "id": 13661, - "mutability": "mutable", - "name": "remainingToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13678, - "src": "4484:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4484:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13665, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13663, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13655, - "src": "4529:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13662, - "name": "getRemainingBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13702, - "src": "4509:19:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 13664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4509:27:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4484:52:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13673, - "name": "claimedBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13287, - "src": "4600:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13675, - "indexExpression": { - "argumentTypes": null, - "id": 13674, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13655, - "src": "4616:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4600:23:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13670, - "name": "remainingToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13661, - "src": "4580:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13666, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "4553:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13668, - "indexExpression": { - "argumentTypes": null, - "id": 13667, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13655, - "src": "4568:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4553:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4553:26:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4553:42:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4553:46:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4553:71:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13659, - "id": 13677, - "nodeType": "Return", - "src": "4546:78:47" - } - ] - }, - "documentation": null, - "functionSelector": "06def802", - "id": 13679, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getClaimableBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13655, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13679, - "src": "4428:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4428:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4427:16:47" - }, - "returnParameters": { - "id": 13659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13658, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13679, - "src": "4465:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4465:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4464:9:47" - }, - "scope": 13789, - "src": "4399:232:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13701, - "nodeType": "Block", - "src": "4712:148:47", - "statements": [ - { - "assignments": [ - 13687 - ], - "declarations": [ - { - "constant": false, - "id": 13687, - "mutability": "mutable", - "name": "remainingRatio", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13701, - "src": "4722:22:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4722:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13692, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13689, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4765:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 13690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4765:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 13688, - "name": "getRemainingRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13752, - "src": "4747:17:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 13691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4747:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4722:59:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 13695, - "name": "originBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13283, - "src": "4814:14:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 13697, - "indexExpression": { - "argumentTypes": null, - "id": 13696, - "name": "holder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13681, - "src": "4829:6:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4814:22:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 13698, - "name": "remainingRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13687, - "src": "4838:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13693, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4798:11:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 13694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "4798:15:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4798:55:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13685, - "id": 13700, - "nodeType": "Return", - "src": "4791:62:47" - } - ] - }, - "documentation": null, - "functionSelector": "001bf8f6", - "id": 13702, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRemainingBalance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13681, - "mutability": "mutable", - "name": "holder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13702, - "src": "4666:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13680, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4666:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4665:16:47" - }, - "returnParameters": { - "id": 13685, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13684, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13702, - "src": "4703:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4703:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4702:9:47" - }, - "scope": 13789, - "src": "4637:223:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13751, - "nodeType": "Block", - "src": "4942:426:47", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13709, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13704, - "src": "4956:9:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13710, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "4968:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4956:32:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 13716, - "nodeType": "IfStatement", - "src": "4952:85:47", - "trueBody": { - "id": 13715, - "nodeType": "Block", - "src": "4990:47:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13712, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5011:11:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 13713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "5011:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13708, - "id": 13714, - "nodeType": "Return", - "src": "5004:22:47" - } - ] - } - }, - { - "assignments": [ - 13718 - ], - "declarations": [ - { - "constant": false, - "id": 13718, - "mutability": "mutable", - "name": "timePast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13751, - "src": "5046:16:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5046:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13723, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13721, - "name": "_START_RELEASE_TIME_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13291, - "src": "5079:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13719, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13704, - "src": "5065:9:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5065:13:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5065:35:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5046:54:47" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 13724, - "name": "timePast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13718, - "src": "5114:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 13725, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "5125:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5114:29:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 13749, - "nodeType": "Block", - "src": "5329:33:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 13747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5350:1:47", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 13708, - "id": 13748, - "nodeType": "Return", - "src": "5343:8:47" - } - ] - }, - "id": 13750, - "nodeType": "IfStatement", - "src": "5110:252:47", - "trueBody": { - "id": 13746, - "nodeType": "Block", - "src": "5145:178:47", - "statements": [ - { - "assignments": [ - 13728 - ], - "declarations": [ - { - "constant": false, - "id": 13728, - "mutability": "mutable", - "name": "remainingTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13746, - "src": "5159:21:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5159:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 13733, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13731, - "name": "timePast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13718, - "src": "5206:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 13729, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "5183:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5183:22:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5183:32:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5159:56:47" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13743, - "name": "_RELEASE_DURATION_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13293, - "src": "5293:18:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13740, - "name": "remainingTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13728, - "src": "5274:13:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13737, - "name": "_CLIFF_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13295, - "src": "5256:12:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 13734, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5236:11:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 13735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "5236:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5236:19:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5236:33:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5236:37:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5236:52:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 13742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5236:56:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 13744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5236:76:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 13708, - "id": 13745, - "nodeType": "Return", - "src": "5229:83:47" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "6a4de5d1", - "id": 13752, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRemainingRatio", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13704, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13752, - "src": "4893:17:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4893:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4892:19:47" - }, - "returnParameters": { - "id": 13708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13707, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13752, - "src": "4933:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4933:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4932:9:47" - }, - "scope": 13789, - "src": "4866:502:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 13771, - "nodeType": "Block", - "src": "5489:78:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13763, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13754, - "src": "5532:4:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13766, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5546:4:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_LockedTokenVault_$13789", - "typeString": "contract LockedTokenVault" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_LockedTokenVault_$13789", - "typeString": "contract LockedTokenVault" - } - ], - "id": 13765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5538:7:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 13764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5538:7:47", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 13767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5538:13:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13768, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13756, - "src": "5553:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13760, - "name": "_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13279, - "src": "5506:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13759, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5499:6:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 13761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:15:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 13762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "5499:32:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 13769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:61:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13770, - "nodeType": "ExpressionStatement", - "src": "5499:61:47" - } - ] - }, - "documentation": null, - "id": 13772, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tokenTransferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13754, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13772, - "src": "5450:12:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13753, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5450:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13756, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13772, - "src": "5464:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5464:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5449:30:47" - }, - "returnParameters": { - "id": 13758, - "nodeType": "ParameterList", - "parameters": [], - "src": "5489:0:47" - }, - "scope": 13789, - "src": "5424:143:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 13787, - "nodeType": "Block", - "src": "5637:57:47", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13783, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13774, - "src": "5676:2:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 13784, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13776, - "src": "5680:6:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13780, - "name": "_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13279, - "src": "5654:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 13779, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5647:6:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 13781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5647:15:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 13782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "5647:28:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 13785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5647:40:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 13786, - "nodeType": "ExpressionStatement", - "src": "5647:40:47" - } - ] - }, - "documentation": null, - "id": 13788, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tokenTransferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 13777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 13774, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13788, - "src": "5600:10:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 13773, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5600:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13776, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 13788, - "src": "5612:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5612:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5599:28:47" - }, - "returnParameters": { - "id": 13778, - "nodeType": "ParameterList", - "parameters": [], - "src": "5637:0:47" - }, - "scope": 13789, - "src": "5573:121:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 13790, - "src": "480:5216:47" - } - ], - "src": "78:5619:47" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.742Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "LockedTokenVault" - }, - "userdoc": { - "methods": {}, - "notice": "Lock Token and release it linearly" - } -} \ No newline at end of file diff --git a/build-v1/contracts/Math.json b/build-v1/contracts/Math.json deleted file mode 100644 index 8a29996..0000000 --- a/build-v1/contracts/Math.json +++ /dev/null @@ -1,59141 +0,0 @@ -{ - "contractName": "Math", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"Math\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206a744c9aae814c8d48c9a0a912ad232a7d0c059a93c03525167160461ee903e464736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206a744c9aae814c8d48c9a0a912ad232a7d0c059a93c03525167160461ee903e464736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "8128:540:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "8128:540:21:-:0;;;;;;;;", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.607Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/Migrations.json b/build-v1/contracts/Migrations.json deleted file mode 100644 index a06f9c2..0000000 --- a/build-v1/contracts/Migrations.json +++ /dev/null @@ -1,1451 +0,0 @@ -{ - "contractName": "Migrations", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "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": "newAddress", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/Migrations.sol\":{\"keccak256\":\"0xba8c3786f986d758d86b8c9d85357820dd0abde03b49a6883c0279f15f2099a7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://03e53fd1d8a21de10f5a680b4cac614d375b59ba5b25ce3f5e43d6a622ea8cac\",\"dweb:/ipfs/QmdoHbz7boCTg67nAfT6N178BQkYvUd8QbGpjWsJR8JPEC\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101eb806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610084578063fdacd57614610099575b600080fd5b61006461005f366004610152565b6100ac565b005b61006e610125565b60405161007b91906101ac565b60405180910390f35b61008c61012b565b60405161007b9190610198565b6100646100a7366004610180565b61013a565b6000546001600160a01b031633141561012257600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916100ee916004016101ac565b600060405180830381600087803b15801561010857600080fd5b505af115801561011c573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561012257600155565b600060208284031215610163578081fd5b81356001600160a01b0381168114610179578182fd5b9392505050565b600060208284031215610191578081fd5b5035919050565b6001600160a01b0391909116815260200190565b9081526020019056fea26469706673582212205ed35f739472fd482c1681e18f61c4c409f32279fc993a19752885afc2e700c064736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610084578063fdacd57614610099575b600080fd5b61006461005f366004610152565b6100ac565b005b61006e610125565b60405161007b91906101ac565b60405180910390f35b61008c61012b565b60405161007b9190610198565b6100646100a7366004610180565b61013a565b6000546001600160a01b031633141561012257600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916100ee916004016101ac565b600060405180830381600087803b15801561010857600080fd5b505af115801561011c573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561012257600155565b600060208284031215610163578081fd5b81356001600160a01b0381168114610179578182fd5b9392505050565b600060208284031215610191578081fd5b5035919050565b6001600160a01b0391909116815260200190565b9081526020019056fea26469706673582212205ed35f739472fd482c1681e18f61c4c409f32279fc993a19752885afc2e700c064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "137:548:14:-:0;;;330:56;;;;;;;;;-1:-1:-1;361:5:14;:18;;-1:-1:-1;;;;;;361:18:14;369:10;361:18;;;137:548;;;;;;", - "deployedSourceMap": "137:548:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;510:173;;;;;;;;;:::i;:::-;;189:39;;;:::i;:::-;;;;;;;;;;;;;;;;163:20;;;:::i;:::-;;;;;;;;392:112;;;;;;;;;:::i;510:173::-;285:5;;-1:-1:-1;;;;;285:5:14;271:10;:19;267:51;;;651:24:::1;::::0;629:47:::1;::::0;-1:-1:-1;;;629:47:14;;608:10;;-1:-1:-1;;;;;629:21:14;::::1;::::0;::::1;::::0;:47:::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;306:1;267:51:::0;510:173;:::o;189:39::-;;;;:::o;163:20::-;;;-1:-1:-1;;;;;163:20:14;;:::o;392:112::-;285:5;;-1:-1:-1;;;;;285:5:14;271:10;:19;267:51;;;461:24:::1;:36:::0;392:112::o;279:241:-1:-;;383:2;371:9;362:7;358:23;354:32;351:2;;;-1:-1;;389:12;351:2;72:20;;-1:-1;;;;;1633:54;;1837:35;;1827:2;;-1:-1;;1876:12;1827:2;441:63;345:175;-1:-1;;;345:175;527:241;;631:2;619:9;610:7;606:23;602:32;599:2;;;-1:-1;;637:12;599:2;-1:-1;209:20;;593:175;-1:-1;593:175;1015:222;-1:-1;;;;;1633:54;;;;846:37;;1142:2;1127:18;;1113:124;1244:222;966:37;;;1371:2;1356:18;;1342:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ncontract Migrations {\n address public owner;\n uint256 public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) {\n _;\n }\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint256 completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address newAddress) public restricted {\n Migrations upgraded = Migrations(newAddress);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/Migrations.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 2091 - ] - }, - "id": 2092, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2034, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:14" - }, - { - "id": 2035, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:14" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2091, - "linearizedBaseContracts": [ - 2091 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 2037, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2091, - "src": "163:20:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "163:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 2039, - "mutability": "mutable", - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2091, - "src": "189:39:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "189:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2048, - "nodeType": "Block", - "src": "257:67:14", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2041, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "271:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "271:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2043, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2037, - "src": "285:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "271:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2047, - "nodeType": "IfStatement", - "src": "267:51:14", - "trueBody": { - "id": 2046, - "nodeType": "Block", - "src": "292:26:14", - "statements": [ - { - "id": 2045, - "nodeType": "PlaceholderStatement", - "src": "306:1:14" - } - ] - } - } - ] - }, - "documentation": null, - "id": 2049, - "name": "restricted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "254:2:14" - }, - "src": "235:89:14", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2057, - "nodeType": "Block", - "src": "351:35:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2052, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2037, - "src": "361:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2053, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "369:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "369:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "361:18:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2056, - "nodeType": "ExpressionStatement", - "src": "361:18:14" - } - ] - }, - "documentation": null, - "id": 2058, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2050, - "nodeType": "ParameterList", - "parameters": [], - "src": "341:2:14" - }, - "returnParameters": { - "id": 2051, - "nodeType": "ParameterList", - "parameters": [], - "src": "351:0:14" - }, - "scope": 2091, - "src": "330:56:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2069, - "nodeType": "Block", - "src": "451:53:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2065, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2039, - "src": "461:24:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2066, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2060, - "src": "488:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "461:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2068, - "nodeType": "ExpressionStatement", - "src": "461:36:14" - } - ] - }, - "documentation": null, - "functionSelector": "fdacd576", - "id": 2070, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2063, - "modifierName": { - "argumentTypes": null, - "id": 2062, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2049, - "src": "440:10:14", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "440:10:14" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2061, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2060, - "mutability": "mutable", - "name": "completed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2070, - "src": "414:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "414:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "413:19:14" - }, - "returnParameters": { - "id": 2064, - "nodeType": "ParameterList", - "parameters": [], - "src": "451:0:14" - }, - "scope": 2091, - "src": "392:112:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2089, - "nodeType": "Block", - "src": "565:118:14", - "statements": [ - { - "assignments": [ - 2078 - ], - "declarations": [ - { - "constant": false, - "id": 2078, - "mutability": "mutable", - "name": "upgraded", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2089, - "src": "575:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 2077, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2091, - "src": "575:10:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2082, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2080, - "name": "newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "608:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2079, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2091, - "src": "597:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$2091_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "597:22:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "575:44:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2086, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2039, - "src": "651:24:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2083, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "629:8:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - } - }, - "id": 2085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 2070, - "src": "629:21:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "629:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2088, - "nodeType": "ExpressionStatement", - "src": "629:47:14" - } - ] - }, - "documentation": null, - "functionSelector": "0900f010", - "id": 2090, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2075, - "modifierName": { - "argumentTypes": null, - "id": 2074, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2049, - "src": "554:10:14", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "554:10:14" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2073, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2072, - "mutability": "mutable", - "name": "newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2090, - "src": "527:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "527:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "526:20:14" - }, - "returnParameters": { - "id": 2076, - "nodeType": "ParameterList", - "parameters": [], - "src": "565:0:14" - }, - "scope": 2091, - "src": "510:173:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 2092, - "src": "137:548:14" - } - ], - "src": "78:608:14" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 2091 - ] - }, - "id": 2092, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2034, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:14" - }, - { - "id": 2035, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:14" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2091, - "linearizedBaseContracts": [ - 2091 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 2037, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2091, - "src": "163:20:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "163:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 2039, - "mutability": "mutable", - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2091, - "src": "189:39:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "189:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2048, - "nodeType": "Block", - "src": "257:67:14", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2041, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "271:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "271:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2043, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2037, - "src": "285:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "271:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2047, - "nodeType": "IfStatement", - "src": "267:51:14", - "trueBody": { - "id": 2046, - "nodeType": "Block", - "src": "292:26:14", - "statements": [ - { - "id": 2045, - "nodeType": "PlaceholderStatement", - "src": "306:1:14" - } - ] - } - } - ] - }, - "documentation": null, - "id": 2049, - "name": "restricted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "254:2:14" - }, - "src": "235:89:14", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2057, - "nodeType": "Block", - "src": "351:35:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2052, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2037, - "src": "361:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2053, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "369:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "369:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "361:18:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2056, - "nodeType": "ExpressionStatement", - "src": "361:18:14" - } - ] - }, - "documentation": null, - "id": 2058, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2050, - "nodeType": "ParameterList", - "parameters": [], - "src": "341:2:14" - }, - "returnParameters": { - "id": 2051, - "nodeType": "ParameterList", - "parameters": [], - "src": "351:0:14" - }, - "scope": 2091, - "src": "330:56:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2069, - "nodeType": "Block", - "src": "451:53:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2065, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2039, - "src": "461:24:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2066, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2060, - "src": "488:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "461:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2068, - "nodeType": "ExpressionStatement", - "src": "461:36:14" - } - ] - }, - "documentation": null, - "functionSelector": "fdacd576", - "id": 2070, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2063, - "modifierName": { - "argumentTypes": null, - "id": 2062, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2049, - "src": "440:10:14", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "440:10:14" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2061, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2060, - "mutability": "mutable", - "name": "completed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2070, - "src": "414:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "414:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "413:19:14" - }, - "returnParameters": { - "id": 2064, - "nodeType": "ParameterList", - "parameters": [], - "src": "451:0:14" - }, - "scope": 2091, - "src": "392:112:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2089, - "nodeType": "Block", - "src": "565:118:14", - "statements": [ - { - "assignments": [ - 2078 - ], - "declarations": [ - { - "constant": false, - "id": 2078, - "mutability": "mutable", - "name": "upgraded", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2089, - "src": "575:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 2077, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2091, - "src": "575:10:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2082, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2080, - "name": "newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "608:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2079, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2091, - "src": "597:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$2091_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "597:22:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "575:44:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2086, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2039, - "src": "651:24:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2083, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "629:8:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$2091", - "typeString": "contract Migrations" - } - }, - "id": 2085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 2070, - "src": "629:21:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "629:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2088, - "nodeType": "ExpressionStatement", - "src": "629:47:14" - } - ] - }, - "documentation": null, - "functionSelector": "0900f010", - "id": 2090, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2075, - "modifierName": { - "argumentTypes": null, - "id": 2074, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2049, - "src": "554:10:14", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "554:10:14" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2073, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2072, - "mutability": "mutable", - "name": "newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2090, - "src": "527:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "527:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "526:20:14" - }, - "returnParameters": { - "id": 2076, - "nodeType": "ParameterList", - "parameters": [], - "src": "565:0:14" - }, - "scope": 2091, - "src": "510:173:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 2092, - "src": "137:548:14" - } - ], - "src": "78:608:14" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.510Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/MinimumOracle.json b/build-v1/contracts/MinimumOracle.json deleted file mode 100644 index 3ccab1e..0000000 --- a/build-v1/contracts/MinimumOracle.json +++ /dev/null @@ -1,2793 +0,0 @@ -{ - "contractName": "MinimumOracle", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransfer", - "type": "event" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol\":\"MinimumOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol\":{\"keccak256\":\"0x66ac490e135af4b70e2d0df8b0872480c964221e225ece8301e06f334d040a9c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://adc9b73a0b2586f440355ed94761cdd0c891a1fa0effcd267dd1f4fbedb6bb75\",\"dweb:/ipfs/QmSaYizENPPjsWDGeDLj1ntRW9zomfVwbfJUgRBCY9yQky\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca908290a36102a0806100696000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806316048bc41461005c5780637ff9b5961461007a57806391b7f5ed1461008f57806398d5fdca146100a4578063f2fde38b146100ac575b600080fd5b6100646100bf565b6040516100719190610203565b60405180910390f35b6100826100ce565b6040516100719190610261565b6100a261009d3660046101eb565b6100d4565b005b61008261010c565b6100a26100ba3660046101bd565b610112565b6000546001600160a01b031681565b60015481565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe9061023e565b60405180910390fd5b600155565b60015490565b6000546001600160a01b0316331461013c5760405162461bcd60e51b81526004016100fe9061023e565b6001600160a01b0381166101625760405162461bcd60e51b81526004016100fe90610217565b600080546040516001600160a01b03808516939216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156101ce578081fd5b81356001600160a01b03811681146101e4578182fd5b9392505050565b6000602082840312156101fc578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b9081526020019056fea2646970667358221220c3a5edff3cea46018780be4a5f46fbf1a2761357373d836472ac7100d1d9c6c764736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806316048bc41461005c5780637ff9b5961461007a57806391b7f5ed1461008f57806398d5fdca146100a4578063f2fde38b146100ac575b600080fd5b6100646100bf565b6040516100719190610203565b60405180910390f35b6100826100ce565b6040516100719190610261565b6100a261009d3660046101eb565b6100d4565b005b61008261010c565b6100a26100ba3660046101bd565b610112565b6000546001600160a01b031681565b60015481565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe9061023e565b60405180910390fd5b600155565b60015490565b6000546001600160a01b0316331461013c5760405162461bcd60e51b81526004016100fe9061023e565b6001600160a01b0381166101625760405162461bcd60e51b81526004016100fe90610217565b600080546040516001600160a01b03808516939216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156101ce578081fd5b81356001600160a01b03811681146101e4578182fd5b9392505050565b6000602082840312156101fc578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b9081526020019056fea2646970667358221220c3a5edff3cea46018780be4a5f46fbf1a2761357373d836472ac7100d1d9c6c764736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "336:921:15:-:0;;;739:111;;;;;;;;;-1:-1:-1;770:7:15;:20;;-1:-1:-1;;;;;;770:20:15;780:10;770:20;;;;805:38;;-1:-1:-1;;;;;835:7:15;;;;;770;805:38;;770:7;;805:38;336:921;;;;;;", - "deployedSourceMap": "336:921:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;365:22;;;:::i;:::-;;;;;;;;;;;;;;;;393:25;;;:::i;:::-;;;;;;;;1070:93;;;;;;;;;:::i;:::-;;1169:86;;;:::i;856:208::-;;;;;;;;;:::i;365:22::-;;;-1:-1:-1;;;;;365:22:15;;:::o;393:25::-;;;;:::o;1070:93::-;650:7;;-1:-1:-1;;;;;650:7:15;636:10;:21;628:43;;;;-1:-1:-1;;;628:43:15;;;;;;;;;;;;;;;;;1135:10:::1;:21:::0;1070:93::o;1169:86::-;1238:10;;1169:86;:::o;856:208::-;650:7;;-1:-1:-1;;;;;650:7:15;636:10;:21;628:43;;;;-1:-1:-1;;;628:43:15;;;;;;;;;-1:-1:-1;;;;;938:22:15;::::1;930:48;;;;-1:-1:-1::0;;;930:48:15::1;;;;;;;;;1011:7;::::0;;993:36:::1;::::0;-1:-1:-1;;;;;993:36:15;;::::1;::::0;1011:7;::::1;::::0;993:36:::1;::::0;::::1;1039:7;:18:::0;;-1:-1:-1;;;;;;1039:18:15::1;-1:-1:-1::0;;;;;1039:18:15;;;::::1;::::0;;;::::1;::::0;;856:208::o;279:241:-1:-;;383:2;371:9;362:7;358:23;354:32;351:2;;;-1:-1;;389:12;351:2;72:20;;-1:-1;;;;;3290:54;;3494:35;;3484:2;;-1:-1;;3533:12;3484:2;441:63;345:175;-1:-1;;;345:175;527:241;;631:2;619:9;610:7;606:23;602:32;599:2;;;-1:-1;;637:12;599:2;-1:-1;209:20;;593:175;-1:-1;593:175;1654:222;-1:-1;;;;;3290:54;;;;846:37;;1781:2;1766:18;;1752:124;1883:416;2083:2;2097:47;;;1120:2;2068:18;;;3062:19;-1:-1;;;3102:14;;;1136:36;1191:12;;;2054:245;2306:416;2506:2;2520:47;;;1442:1;2491:18;;;3062:19;-1:-1;;;3102:14;;;1457:32;1508:12;;;2477:245;2729:222;1605:37;;;2856:2;2841:18;;2827:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IMinimumOracle {\n function getPrice() external view returns (uint256);\n\n function setPrice(uint256 newPrice) external;\n\n function transferOwnership(address newOwner) external;\n}\n\n\ncontract MinimumOracle {\n address public _OWNER_;\n uint256 public tokenPrice;\n\n // ============ Events ============\n\n event OwnershipTransfer(address indexed previousOwner, address indexed newOwner);\n\n // ============ Modifiers ============\n\n modifier onlyOwner() {\n require(msg.sender == _OWNER_, \"NOT_OWNER\");\n _;\n }\n\n // ============ Functions ============\n\n constructor() public {\n _OWNER_ = msg.sender;\n emit OwnershipTransfer(address(0), _OWNER_);\n }\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"INVALID_OWNER\");\n emit OwnershipTransfer(_OWNER_, newOwner);\n _OWNER_ = newOwner;\n }\n\n function setPrice(uint256 newPrice) external onlyOwner {\n tokenPrice = newPrice;\n }\n\n function getPrice() external view returns (uint256) {\n return tokenPrice;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol", - "exportedSymbols": { - "IMinimumOracle": [ - 2110 - ], - "MinimumOracle": [ - 2197 - ] - }, - "id": 2198, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2093, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:15" - }, - { - "id": 2094, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2110, - "linearizedBaseContracts": [ - 2110 - ], - "name": "IMinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2099, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2095, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:15" - }, - "returnParameters": { - "id": 2098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2097, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2099, - "src": "211:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:15" - }, - "scope": 2110, - "src": "168:52:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2104, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2101, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2104, - "src": "244:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:18:15" - }, - "returnParameters": { - "id": 2103, - "nodeType": "ParameterList", - "parameters": [], - "src": "270:0:15" - }, - "scope": 2110, - "src": "226:45:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2109, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2106, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2109, - "src": "304:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "303:18:15" - }, - "returnParameters": { - "id": 2108, - "nodeType": "ParameterList", - "parameters": [], - "src": "330:0:15" - }, - "scope": 2110, - "src": "277:54:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "137:196:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2197, - "linearizedBaseContracts": [ - 2197 - ], - "name": "MinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 2112, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "365:22:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "365:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 2114, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "393:25:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "393:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2120, - "name": "OwnershipTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2116, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "490:29:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2118, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "521:24:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:57:15" - }, - "src": "466:81:15" - }, - { - "body": { - "id": 2131, - "nodeType": "Block", - "src": "618:71:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "636:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "636:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2125, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "650:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "636:21:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 2127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "659:11:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 2122, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "628:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "628:43:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2129, - "nodeType": "ExpressionStatement", - "src": "628:43:15" - }, - { - "id": 2130, - "nodeType": "PlaceholderStatement", - "src": "681:1:15" - } - ] - }, - "documentation": null, - "id": 2132, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2121, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:2:15" - }, - "src": "597:92:15", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2148, - "nodeType": "Block", - "src": "760:90:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2135, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "770:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2136, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "780:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "780:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "770:20:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "770:20:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "831:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "823:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2145, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "835:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2140, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "805:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "805:38:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2147, - "nodeType": "EmitStatement", - "src": "800:43:15" - } - ] - }, - "documentation": null, - "id": 2149, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2133, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:15" - }, - "returnParameters": { - "id": 2134, - "nodeType": "ParameterList", - "parameters": [], - "src": "760:0:15" - }, - "scope": 2197, - "src": "739:111:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2175, - "nodeType": "Block", - "src": "920:144:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2157, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "938:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "958:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "950:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "938:22:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "962:15:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 2156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "930:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "930:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2165, - "nodeType": "ExpressionStatement", - "src": "930:48:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2167, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1011:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2168, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1020:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2166, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "993:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "993:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2170, - "nodeType": "EmitStatement", - "src": "988:41:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2171, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1039:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2172, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1049:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1039:18:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2174, - "nodeType": "ExpressionStatement", - "src": "1039:18:15" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2176, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2154, - "modifierName": { - "argumentTypes": null, - "id": 2153, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "910:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "910:9:15" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2151, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "883:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "883:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "882:18:15" - }, - "returnParameters": { - "id": 2155, - "nodeType": "ParameterList", - "parameters": [], - "src": "920:0:15" - }, - "scope": 2197, - "src": "856:208:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "1125:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2183, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1135:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2184, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "1148:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1135:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2186, - "nodeType": "ExpressionStatement", - "src": "1135:21:15" - } - ] - }, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2188, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2181, - "modifierName": { - "argumentTypes": null, - "id": 2180, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1115:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1115:9:15" - } - ], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2188, - "src": "1088:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1088:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1087:18:15" - }, - "returnParameters": { - "id": 2182, - "nodeType": "ParameterList", - "parameters": [], - "src": "1125:0:15" - }, - "scope": 2197, - "src": "1070:93:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "1221:34:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1238:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2192, - "id": 2194, - "nodeType": "Return", - "src": "1231:17:15" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2189, - "nodeType": "ParameterList", - "parameters": [], - "src": "1186:2:15" - }, - "returnParameters": { - "id": 2192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2196, - "src": "1212:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1211:9:15" - }, - "scope": 2197, - "src": "1169:86:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "336:921:15" - } - ], - "src": "78:1180:15" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol", - "exportedSymbols": { - "IMinimumOracle": [ - 2110 - ], - "MinimumOracle": [ - 2197 - ] - }, - "id": 2198, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2093, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:15" - }, - { - "id": 2094, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2110, - "linearizedBaseContracts": [ - 2110 - ], - "name": "IMinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2099, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2095, - "nodeType": "ParameterList", - "parameters": [], - "src": "185:2:15" - }, - "returnParameters": { - "id": 2098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2097, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2099, - "src": "211:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "211:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:9:15" - }, - "scope": 2110, - "src": "168:52:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2104, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2101, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2104, - "src": "244:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "243:18:15" - }, - "returnParameters": { - "id": 2103, - "nodeType": "ParameterList", - "parameters": [], - "src": "270:0:15" - }, - "scope": 2110, - "src": "226:45:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2109, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2106, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2109, - "src": "304:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "303:18:15" - }, - "returnParameters": { - "id": 2108, - "nodeType": "ParameterList", - "parameters": [], - "src": "330:0:15" - }, - "scope": 2110, - "src": "277:54:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "137:196:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2197, - "linearizedBaseContracts": [ - 2197 - ], - "name": "MinimumOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 2112, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "365:22:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "365:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 2114, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2197, - "src": "393:25:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "393:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2120, - "name": "OwnershipTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2116, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "490:29:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2118, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2120, - "src": "521:24:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:57:15" - }, - "src": "466:81:15" - }, - { - "body": { - "id": 2131, - "nodeType": "Block", - "src": "618:71:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2123, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "636:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "636:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2125, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "650:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "636:21:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 2127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "659:11:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 2122, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "628:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "628:43:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2129, - "nodeType": "ExpressionStatement", - "src": "628:43:15" - }, - { - "id": 2130, - "nodeType": "PlaceholderStatement", - "src": "681:1:15" - } - ] - }, - "documentation": null, - "id": 2132, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2121, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:2:15" - }, - "src": "597:92:15", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2148, - "nodeType": "Block", - "src": "760:90:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2135, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "770:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2136, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "780:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "780:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "770:20:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "770:20:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "831:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "823:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2145, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "835:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2140, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "805:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "805:38:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2147, - "nodeType": "EmitStatement", - "src": "800:43:15" - } - ] - }, - "documentation": null, - "id": 2149, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2133, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:15" - }, - "returnParameters": { - "id": 2134, - "nodeType": "ParameterList", - "parameters": [], - "src": "760:0:15" - }, - "scope": 2197, - "src": "739:111:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2175, - "nodeType": "Block", - "src": "920:144:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2157, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "938:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "958:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "950:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "950:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "938:22:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "962:15:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 2156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "930:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "930:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2165, - "nodeType": "ExpressionStatement", - "src": "930:48:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2167, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1011:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2168, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1020:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2166, - "name": "OwnershipTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "993:17:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "993:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2170, - "nodeType": "EmitStatement", - "src": "988:41:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2171, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2112, - "src": "1039:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2172, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2151, - "src": "1049:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1039:18:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2174, - "nodeType": "ExpressionStatement", - "src": "1039:18:15" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 2176, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2154, - "modifierName": { - "argumentTypes": null, - "id": 2153, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "910:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "910:9:15" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2151, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "883:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "883:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "882:18:15" - }, - "returnParameters": { - "id": 2155, - "nodeType": "ParameterList", - "parameters": [], - "src": "920:0:15" - }, - "scope": 2197, - "src": "856:208:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "1125:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2183, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1135:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2184, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "1148:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1135:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2186, - "nodeType": "ExpressionStatement", - "src": "1135:21:15" - } - ] - }, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 2188, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2181, - "modifierName": { - "argumentTypes": null, - "id": 2180, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1115:9:15", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1115:9:15" - } - ], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2188, - "src": "1088:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1088:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1087:18:15" - }, - "returnParameters": { - "id": 2182, - "nodeType": "ParameterList", - "parameters": [], - "src": "1125:0:15" - }, - "scope": 2197, - "src": "1070:93:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "1221:34:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2114, - "src": "1238:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2192, - "id": 2194, - "nodeType": "Return", - "src": "1231:17:15" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 2196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2189, - "nodeType": "ParameterList", - "parameters": [], - "src": "1186:2:15" - }, - "returnParameters": { - "id": 2192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2196, - "src": "1212:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1211:9:15" - }, - "scope": 2197, - "src": "1169:86:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2198, - "src": "336:921:15" - } - ], - "src": "78:1180:15" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.511Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/MultiSigWalletWithTimelock.json b/build-v1/contracts/MultiSigWalletWithTimelock.json deleted file mode 100644 index beb9dc4..0000000 --- a/build-v1/contracts/MultiSigWalletWithTimelock.json +++ /dev/null @@ -1,31203 +0,0 @@ -{ - "contractName": "MultiSigWalletWithTimelock", - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "_required", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "Confirmation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "Execution", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "ExecutionFailure", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "lockSeconds", - "type": "uint256" - } - ], - "name": "LockSecondsChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "OwnerAddition", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "OwnerRemoval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "required", - "type": "uint256" - } - ], - "name": "RequirementChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "Revocation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "Submission", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "confirmationTime", - "type": "uint256" - } - ], - "name": "UnlockTimeSet", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "MAX_OWNER_COUNT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "confirmations", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "emergencyCalls", - "outputs": [ - { - "internalType": "bytes32", - "name": "selector", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "paramsBytesCount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lockSeconds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "owners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "required", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "transactionCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "transactions", - "outputs": [ - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "executed", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "unlockTimes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - }, - { - "inputs": [], - "name": "getEmergencyCallsCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "addOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "removeOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "replaceOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_required", - "type": "uint256" - } - ], - "name": "changeRequirement", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_lockSeconds", - "type": "uint256" - } - ], - "name": "changeLockSeconds", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "submitTransaction", - "outputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "confirmTransaction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "funcName", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_paramsBytesCount", - "type": "uint256" - } - ], - "name": "addEmergencyCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "revokeConfirmation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "executeTransaction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "isConfirmed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "getConfirmationCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pending", - "type": "bool" - }, - { - "internalType": "bool", - "name": "executed", - "type": "bool" - } - ], - "name": "getTransactionCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwners", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "transactionId", - "type": "uint256" - } - ], - "name": "getConfirmations", - "outputs": [ - { - "internalType": "address[]", - "name": "_confirmations", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_required\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Confirmation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Execution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lockSeconds\",\"type\":\"uint256\"}],\"name\":\"LockSecondsChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerAddition\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerRemoval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"RequirementChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Revocation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Submission\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"confirmationTime\",\"type\":\"uint256\"}],\"name\":\"UnlockTimeSet\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"MAX_OWNER_COUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"funcName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_paramsBytesCount\",\"type\":\"uint256\"}],\"name\":\"addEmergencyCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_lockSeconds\",\"type\":\"uint256\"}],\"name\":\"changeLockSeconds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_required\",\"type\":\"uint256\"}],\"name\":\"changeRequirement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"confirmTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"confirmations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"emergencyCalls\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"selector\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"paramsBytesCount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"executeTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"getConfirmationCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"getConfirmations\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"_confirmations\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEmergencyCallsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"pending\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"executed\",\"type\":\"bool\"}],\"name\":\"getTransactionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"isConfirmed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockSeconds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"owners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"replaceOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"required\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"revokeConfirmation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitTransaction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transactions\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"executed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"unlockTimes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"methods\":{\"addOwner(address)\":{\"details\":\"Allows to add a new owner. Transaction has to be sent by wallet.\",\"params\":{\"owner\":\"Address of new owner.\"}},\"changeLockSeconds(uint256)\":{\"details\":\"Changes the duration of the time lock for transactions.\",\"params\":{\"_lockSeconds\":\"Duration needed after a transaction is confirmed and before it becomes executable, in seconds.\"}},\"changeRequirement(uint256)\":{\"details\":\"Allows to change the number of required confirmations. Transaction has to be sent by wallet.\",\"params\":{\"_required\":\"Number of required confirmations.\"}},\"confirmTransaction(uint256)\":{\"details\":\"Allows an owner to confirm a transaction.\",\"params\":{\"transactionId\":\"Transaction ID.\"}},\"constructor\":{\"details\":\"Contract constructor sets initial owners and required number of confirmations.\",\"params\":{\"_owners\":\"List of initial owners.\",\"_required\":\"Number of required confirmations.\"}},\"executeTransaction(uint256)\":{\"details\":\"Allows anyone to execute a confirmed transaction.\",\"params\":{\"transactionId\":\"Transaction ID.\"}},\"getConfirmationCount(uint256)\":{\"details\":\"Returns number of confirmations of a transaction.\",\"params\":{\"transactionId\":\"Transaction ID.\"},\"returns\":{\"count\":\"Number of confirmations.\"}},\"getConfirmations(uint256)\":{\"details\":\"Returns array with owner addresses, which confirmed transaction.\",\"params\":{\"transactionId\":\"Transaction ID.\"},\"returns\":{\"_confirmations\":\"Returns array of owner addresses.\"}},\"getOwners()\":{\"details\":\"Returns list of owners.\",\"returns\":{\"_0\":\"List of owner addresses.\"}},\"getTransactionCount(bool,bool)\":{\"details\":\"Returns total number of transactions after filers are applied.\",\"params\":{\"executed\":\"Include executed transactions.\",\"pending\":\"Include pending transactions.\"},\"returns\":{\"count\":\"Total number of transactions after filters are applied.\"}},\"isConfirmed(uint256)\":{\"details\":\"Returns the confirmation status of a transaction.\",\"params\":{\"transactionId\":\"Transaction ID.\"},\"returns\":{\"_0\":\"Confirmation status.\"}},\"removeOwner(address)\":{\"details\":\"Allows to remove an owner. Transaction has to be sent by wallet.\",\"params\":{\"owner\":\"Address of owner.\"}},\"replaceOwner(address,address)\":{\"details\":\"Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\",\"params\":{\"owner\":\"Address of new owner.\"}},\"revokeConfirmation(uint256)\":{\"details\":\"Allows an owner to revoke a confirmation for a transaction.\",\"params\":{\"transactionId\":\"Transaction ID.\"}},\"submitTransaction(address,uint256,bytes)\":{\"details\":\"Allows an owner to submit and confirm a transaction.\",\"params\":{\"data\":\"Transaction data payload.\",\"destination\":\"Transaction target address.\",\"value\":\"Transaction ether value.\"},\"returns\":{\"transactionId\":\"Returns transaction ID.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MultiSig.sol\":\"MultiSigWalletWithTimelock\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MultiSig.sol\":{\"keccak256\":\"0xc0b34ead7b6682f104ab6ef3619a44a250120765b5b839c4051db184a225c94c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3fec498e6b08ec430db4c3e83209423191fdce6c1768aa315c73721495c128cd\",\"dweb:/ipfs/QmUY3GWLiSZWAYw3y4sBmEy6xZtfxBWkSJEc7cbLe5i2F5\"]}},\"version\":1}", - "bytecode": "0x6080604052620151806000553480156200001857600080fd5b5060405162002359380380620023598339810160408190526200003b9162000367565b81518160328211806200004d57508181115b8062000057575080155b8062000061575081155b156200008a5760405162461bcd60e51b81526004016200008190620004b4565b60405180910390fd5b60005b84518110156200016f5760036000868381518110620000a857fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff168062000101575060006001600160a01b0316858281518110620000ee57fe5b60200260200101516001600160a01b0316145b15620001215760405162461bcd60e51b815260040162000081906200048f565b6001600360008784815181106200013457fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016200008d565b50835162000185906005906020870190620002b5565b5060068390556040805180820190915260089080620001a76060820162000424565b60408051601f19818403018152918152815160209283012083526000928201839052845460018181018755958452928290208451600290940201928355920151920191909155805180820190915260089080620002076060820162000476565b60408051601f198184030181529181528151602092830120835291810182905283546001818101865560009586529482902084516002909202019081559201519190920155805180820190915260089080620002666060820162000440565b60408051601f1981840301815291815281516020928301208352918101919091528254600181810185556000948552938290208351600290920201908155910151910155506200051292505050565b8280548282559060005260206000209081019282156200030d579160200282015b828111156200030d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620002d6565b506200031b9291506200031f565b5090565b6200034691905b808211156200031b5780546001600160a01b031916815560010162000326565b90565b80516001600160a01b03811681146200036157600080fd5b92915050565b600080604083850312156200037a578182fd5b82516001600160401b038082111562000391578384fd5b81850186601f820112620003a3578485fd5b8051925081831115620003b4578485fd5b60209150818302620003c8838201620004eb565b8481528381019083850183850186018b1015620003e3578889fd5b8894505b868510156200041157620003fc8b8262000349565b835260019490940193918501918501620003e7565b5097909301519698969750505050505050565b6f636c61696d4f776e657273686970282960801b815260100190565b7f7365744c697175696469747950726f7669646572466565526174652875696e748152633235362960e01b602082015260240190565b6c7365744b2875696e743235362960981b8152600d0190565b6020808252600b908201526a27aba722a92fa2a92927a960a91b604082015260600190565b60208082526017908201527f56414c49445f524551554952454d454e545f4552524f52000000000000000000604082015260600190565b6040518181016001600160401b03811182821017156200050a57600080fd5b604052919050565b611e3780620005226000396000f3fe6080604052600436106101855760003560e01c8063a0e67e2b116100d1578063c0af02271161008a578063dc8452cd11610064578063dc8452cd146104f7578063e20056e61461050c578063ee22610b1461052c578063f075fb901461054c576101d4565b8063c0af0227146104ad578063c6427474146104c2578063d74f8edd146104e2576101d4565b8063a0e67e2b14610401578063b5dc40c314610423578063b77bf60014610443578063ba51a6df14610458578063bfa6fddb14610478578063c01a8c841461048d576101d4565b80637065cb481161013e57806386384afc1161011857806386384afc146103635780638b51d13f146103915780638c22d5d3146103b15780639ace38c2146103d1576101d4565b80637065cb481461030357806376ac947a14610323578063784547a714610343576101d4565b8063025e7c2714610213578063173825d91461024957806320ea8d86146102695780632f54bf6e146102895780633411c81c146102b657806354741525146102d6576101d4565b366101d45734156101d257336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101c99190611dc8565b60405180910390a25b005b34156101d257336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101c99190611dc8565b34801561021f57600080fd5b5061023361022e366004611a59565b61056c565b6040516102409190611b20565b60405180910390f35b34801561025557600080fd5b506101d26102643660046118a9565b610593565b34801561027557600080fd5b506101d2610284366004611a59565b61071a565b34801561029557600080fd5b506102a96102a43660046118a9565b610809565b6040516102409190611bd2565b3480156102c257600080fd5b506102a96102d1366004611a71565b61081e565b3480156102e257600080fd5b506102f66102f1366004611990565b61083e565b6040516102409190611dc8565b34801561030f57600080fd5b506101d261031e3660046118a9565b6108aa565b34801561032f57600080fd5b506102f661033e366004611a59565b610a04565b34801561034f57600080fd5b506102a961035e366004611a59565b610a16565b34801561036f57600080fd5b5061038361037e366004611a59565b610aa0565b604051610240929190611bdd565b34801561039d57600080fd5b506102f66103ac366004611a59565b610acb565b3480156103bd57600080fd5b506101d26103cc366004611a59565b610b3a565b3480156103dd57600080fd5b506103f16103ec366004611a59565b610b99565b6040516102409493929190611b34565b34801561040d57600080fd5b50610416610c55565b6040516102409190611b85565b34801561042f57600080fd5b5061041661043e366004611a59565b610cb8565b34801561044f57600080fd5b506102f6610e5c565b34801561046457600080fd5b506101d2610473366004611a59565b610e62565b34801561048457600080fd5b506102f6610f04565b34801561049957600080fd5b506101d26104a8366004611a59565b610f0a565b3480156104b957600080fd5b506102f661108c565b3480156104ce57600080fd5b506102f66104dd3660046118ff565b611092565b3480156104ee57600080fd5b506102f6611202565b34801561050357600080fd5b506102f6611207565b34801561051857600080fd5b506101d26105273660046118cb565b61120d565b34801561053857600080fd5b506101d2610547366004611a59565b6113c3565b34801561055857600080fd5b506101d26105673660046119bb565b61155e565b6005818154811061057957fe5b6000918252602090912001546001600160a01b0316905081565b3330146105bb5760405162461bcd60e51b81526004016105b290611cb9565b60405180910390fd5b6001600160a01b038116600090815260036020526040902054819060ff166105f55760405162461bcd60e51b81526004016105b290611d10565b6001600160a01b0382166000908152600360205260408120805460ff191690555b600554600019018110156106c957826001600160a01b03166005828154811061063b57fe5b6000918252602090912001546001600160a01b031614156106c15760058054600019810190811061066857fe5b600091825260209091200154600580546001600160a01b03909216918390811061068e57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506106c9565b600101610616565b5060055460065411156106e2576005546106e290610e62565b6040516001600160a01b038316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526003602052604090205460ff166107495760405162461bcd60e51b81526004016105b290611d10565b60008281526002602090815260408083203380855292529091205483919060ff166107865760405162461bcd60e51b81526004016105b290611beb565b600084815260016020526040902060030154849060ff16156107ba5760405162461bcd60e51b81526004016105b290611ce4565b6000858152600260209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60036020526000908152604090205460ff1681565b600260209081526000928352604080842090915290825290205460ff1681565b6000805b6007548110156108a35783801561086b575060008181526001602052604090206003015460ff16155b8061088f575082801561088f575060008181526001602052604090206003015460ff165b1561089b576001820191505b600101610842565b5092915050565b3330146108c95760405162461bcd60e51b81526004016105b290611cb9565b6001600160a01b038116600090815260036020526040902054819060ff16156109045760405162461bcd60e51b81526004016105b290611c14565b816001600160a01b03811661092b5760405162461bcd60e51b81526004016105b290611d69565b600580549050600101600654603282118061094557508181115b8061094e575080155b80610957575081155b156109745760405162461bcd60e51b81526004016105b290611d91565b6001600160a01b038516600081815260036020526040808220805460ff1916600190811790915560058054918201815583527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b03191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b60046020526000908152604090205481565b600080805b600554811015610a945760008481526002602052604081206005805491929184908110610a4457fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610a78576001820191505b6006548210610a8c57600192505050610a9b565b600101610a1b565b5060009150505b919050565b60088181548110610aad57fe5b60009182526020909120600290910201805460019091015490915082565b6000805b600554811015610b345760008381526002602052604081206005805491929184908110610af857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610b2c576001820191505b600101610acf565b50919050565b333014610b595760405162461bcd60e51b81526004016105b290611cb9565b60008190556040517f884d6758bafbcb4b5e2e0393178ca1f3da3dd380a54ce05ab60aa59756db9dc190610b8e908390611dc8565b60405180910390a150565b6001602081815260009283526040928390208054818401546002808401805488516101009882161598909802600019011691909104601f81018690048602870186019097528686526001600160a01b039092169590949293830182828015610c425780601f10610c1757610100808354040283529160200191610c42565b820191906000526020600020905b815481529060010190602001808311610c2557829003601f168201915b5050506003909301549192505060ff1684565b60606005805480602002602001604051908101604052809291908181526020018280548015610cad57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c8f575b505050505090505b90565b600554606090819067ffffffffffffffff81118015610cd657600080fd5b50604051908082528060200260200182016040528015610d00578160200160208202803683370190505b5090506000805b600554811015610dc35760008581526002602052604081206005805491929184908110610d3057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610dbb5760058181548110610d6a57fe5b9060005260206000200160009054906101000a90046001600160a01b0316838381518110610d9457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001820191505b600101610d07565b8167ffffffffffffffff81118015610dda57600080fd5b50604051908082528060200260200182016040528015610e04578160200160208202803683370190505b509350600090505b81811015610e5457828181518110610e2057fe5b6020026020010151848281518110610e3457fe5b6001600160a01b0390921660209283029190910190910152600101610e0c565b505050919050565b60075481565b333014610e815760405162461bcd60e51b81526004016105b290611cb9565b600554816032821180610e9357508181115b80610e9c575080155b80610ea5575081155b15610ec25760405162461bcd60e51b81526004016105b290611d91565b60068390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90610ef7908590611dc8565b60405180910390a1505050565b60005481565b3360008181526003602052604090205460ff16610f395760405162461bcd60e51b81526004016105b290611d10565b60008281526001602052604090205482906001600160a01b0316610f6f5760405162461bcd60e51b81526004016105b290611c82565b60008381526002602090815260408083203380855292529091205484919060ff1615610fad5760405162461bcd60e51b81526004016105b290611d3c565b6000858152600260209081526040808320338085529252808320805460ff191660011790555187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361100185610a16565b80156110195750600085815260046020526040902054155b801561102b5750611029856115e2565b155b15611085576000805486825260046020526040918290204290910190819055905186907f280af6a3ba059a74f0e894262aa07f2c4d0de1e231882263c0d7dcda111b1a449061107b908490611dc8565b60405180910390a2505b5050505050565b60085490565b3360008181526003602052604081205490919060ff166110c45760405162461bcd60e51b81526004016105b290611d10565b856001600160a01b0381166110eb5760405162461bcd60e51b81526004016105b290611d69565b60075492506040518060800160405280886001600160a01b0316815260200187815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182018190528581526001808352604091829020845181546001600160a01b0319166001600160a01b039091161781558484015191810191909155908301518051919261119f926002850192909101906117cd565b50606091909101516003909101805460ff191691151591909117905560078054600101905560405183907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a26111f883610f0a565b5050949350505050565b603281565b60065481565b33301461122c5760405162461bcd60e51b81526004016105b290611cb9565b6001600160a01b038216600090815260036020526040902054829060ff166112665760405162461bcd60e51b81526004016105b290611d10565b6001600160a01b038216600090815260036020526040902054829060ff16156112a15760405162461bcd60e51b81526004016105b290611c14565b60005b60055481101561132957846001600160a01b0316600582815481106112c557fe5b6000918252602090912001546001600160a01b031614156113215783600582815481106112ee57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550611329565b6001016112a4565b506001600160a01b03808516600081815260036020526040808220805460ff1990811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a26040516001600160a01b038416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b3360008181526003602052604090205460ff166113f25760405162461bcd60e51b81526004016105b290611d10565b600082815260016020526040902060030154829060ff16156114265760405162461bcd60e51b81526004016105b290611ce4565b6000838152600460205260409020544210156114545760405162461bcd60e51b81526004016105b290611c4b565b61145d83610a16565b1561155957600083815260016020819052604080832060038101805460ff19168417905580549281015491519093926001600160a01b031691906114a5906002860190611a94565b60006040518083038185875af1925050503d80600081146114e2576040519150601f19603f3d011682016040523d82523d6000602084013e6114e7565b606091505b5050905080156115215760405185907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2611085565b60405185907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a250600301805460ff191690555b505050565b33301461157d5760405162461bcd60e51b81526004016105b290611cb9565b600860405180604001604052808460405160200161159b9190611b04565b60408051601f198184030181529190528051602091820120825290810193909352815460018181018455600093845292849020825160029092020190815592015191015550565b60008181526001602081815260408084206002908101805483519581161561010002600019011691909104601f8101849004840285018401909252818452606093929091908301828280156116785780601f1061164d57610100808354040283529160200191611678565b820191906000526020600020905b81548152906001019060200180831161165b57829003601f168201915b50939450600093505050505b600854811015610a945761169661184b565b600882815481106116a357fe5b9060005260206000209060020201604051806040016040529081600082015481526020016001820154815250509050806020015160040183511480156116eb57506004835110155b801561171d5750826000815181106116ff57fe5b602091010151815160001a60f81b6001600160f81b03199081169116145b801561174f57508260018151811061173157fe5b602091010151815160011a60f81b6001600160f81b03199081169116145b801561178157508260028151811061176357fe5b602091010151815160021a60f81b6001600160f81b03199081169116145b80156117b357508260038151811061179557fe5b602091010151815160031a60f81b6001600160f81b03199081169116145b156117c45760019350505050610a9b565b50600101611684565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061180e57805160ff191683800117855561183b565b8280016001018555821561183b579182015b8281111561183b578251825591602001919060010190611820565b50611847929150611862565b5090565b604080518082019091526000808252602082015290565b610cb591905b808211156118475760008155600101611868565b80356001600160a01b038116811461189357600080fd5b92915050565b8035801515811461189357600080fd5b6000602082840312156118ba578081fd5b6118c4838361187c565b9392505050565b600080604083850312156118dd578081fd5b6118e7848461187c565b91506118f6846020850161187c565b90509250929050565b60008060008060608587031215611914578182fd5b84356001600160a01b038116811461192a578283fd5b935060208501359250604085013567ffffffffffffffff8082111561194d578384fd5b81870188601f82011261195e578485fd5b803592508183111561196e578485fd5b88602084830101111561197f578485fd5b959894975050602090940194505050565b600080604083850312156119a2578182fd5b6119ac8484611899565b91506118f68460208501611899565b600080604083850312156119cd578182fd5b823567ffffffffffffffff808211156119e4578384fd5b81850186601f8201126119f5578485fd5b8035925081831115611a05578485fd5b6040516020601f8501601f1916820181018481118382101715611a26578788fd5b6040528482528285018101891015611a3c578687fd5b848184018284013793810184019590955250929593013593505050565b600060208284031215611a6a578081fd5b5035919050565b60008060408385031215611a83578182fd5b823591506118f6846020850161187c565b6000808354600180821660008114611ab35760018114611aca57611af9565b60ff198316865260028304607f1686019350611af9565b600283048786526020808720875b83811015611af15781548a820152908501908201611ad8565b505050860193505b509195945050505050565b60008251611b16818460208701611dd1565b9190910192915050565b6001600160a01b0391909116815260200190565b600060018060a01b0386168252846020830152608060408301528351806080840152611b678160a0850160208801611dd1565b921515606083015250601f91909101601f19160160a0019392505050565b6020808252825182820181905260009190848201906040850190845b81811015611bc65783516001600160a01b031683529284019291840191600101611ba1565b50909695505050505050565b901515815260200190565b918252602082015260400190565b6020808252600f908201526e21a7a72324a926a2a22fa2a92927a960891b604082015260600190565b6020808252601a908201527f4f574e45525f444f45535f4e4f545f45584953545f4552524f52000000000000604082015260600190565b6020808252601a908201527f5452414e53414354494f4e5f4e4545445f544f5f554e4c4f434b000000000000604082015260600190565b60208082526018908201527f5452414e53414354494f4e5f4558495354535f4552524f520000000000000000604082015260600190565b60208082526011908201527027a7262cafaba0a62622aa2fa2a92927a960791b604082015260600190565b6020808252601290820152712727aa2fa2ac22a1aaaa22a22fa2a92927a960711b604082015260600190565b60208082526012908201527127aba722a92fa2ac24a9aa29afa2a92927a960711b604082015260600190565b6020808252601390820152722727aa2fa1a7a72324a926a2a22fa2a92927a960691b604082015260600190565b6020808252600e908201526d2727aa2fa72aa6262fa2a92927a960911b604082015260600190565b60208082526017908201527f56414c49445f524551554952454d454e545f4552524f52000000000000000000604082015260600190565b90815260200190565b60005b83811015611dec578181015183820152602001611dd4565b83811115611dfb576000848401525b5050505056fea26469706673582212203d74ff7a7391bb0bef594d5f3bb61dffe44dc359928a4708db3053e543a82a4764736f6c63430006090033", - "deployedBytecode": "0x6080604052600436106101855760003560e01c8063a0e67e2b116100d1578063c0af02271161008a578063dc8452cd11610064578063dc8452cd146104f7578063e20056e61461050c578063ee22610b1461052c578063f075fb901461054c576101d4565b8063c0af0227146104ad578063c6427474146104c2578063d74f8edd146104e2576101d4565b8063a0e67e2b14610401578063b5dc40c314610423578063b77bf60014610443578063ba51a6df14610458578063bfa6fddb14610478578063c01a8c841461048d576101d4565b80637065cb481161013e57806386384afc1161011857806386384afc146103635780638b51d13f146103915780638c22d5d3146103b15780639ace38c2146103d1576101d4565b80637065cb481461030357806376ac947a14610323578063784547a714610343576101d4565b8063025e7c2714610213578063173825d91461024957806320ea8d86146102695780632f54bf6e146102895780633411c81c146102b657806354741525146102d6576101d4565b366101d45734156101d257336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101c99190611dc8565b60405180910390a25b005b34156101d257336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101c99190611dc8565b34801561021f57600080fd5b5061023361022e366004611a59565b61056c565b6040516102409190611b20565b60405180910390f35b34801561025557600080fd5b506101d26102643660046118a9565b610593565b34801561027557600080fd5b506101d2610284366004611a59565b61071a565b34801561029557600080fd5b506102a96102a43660046118a9565b610809565b6040516102409190611bd2565b3480156102c257600080fd5b506102a96102d1366004611a71565b61081e565b3480156102e257600080fd5b506102f66102f1366004611990565b61083e565b6040516102409190611dc8565b34801561030f57600080fd5b506101d261031e3660046118a9565b6108aa565b34801561032f57600080fd5b506102f661033e366004611a59565b610a04565b34801561034f57600080fd5b506102a961035e366004611a59565b610a16565b34801561036f57600080fd5b5061038361037e366004611a59565b610aa0565b604051610240929190611bdd565b34801561039d57600080fd5b506102f66103ac366004611a59565b610acb565b3480156103bd57600080fd5b506101d26103cc366004611a59565b610b3a565b3480156103dd57600080fd5b506103f16103ec366004611a59565b610b99565b6040516102409493929190611b34565b34801561040d57600080fd5b50610416610c55565b6040516102409190611b85565b34801561042f57600080fd5b5061041661043e366004611a59565b610cb8565b34801561044f57600080fd5b506102f6610e5c565b34801561046457600080fd5b506101d2610473366004611a59565b610e62565b34801561048457600080fd5b506102f6610f04565b34801561049957600080fd5b506101d26104a8366004611a59565b610f0a565b3480156104b957600080fd5b506102f661108c565b3480156104ce57600080fd5b506102f66104dd3660046118ff565b611092565b3480156104ee57600080fd5b506102f6611202565b34801561050357600080fd5b506102f6611207565b34801561051857600080fd5b506101d26105273660046118cb565b61120d565b34801561053857600080fd5b506101d2610547366004611a59565b6113c3565b34801561055857600080fd5b506101d26105673660046119bb565b61155e565b6005818154811061057957fe5b6000918252602090912001546001600160a01b0316905081565b3330146105bb5760405162461bcd60e51b81526004016105b290611cb9565b60405180910390fd5b6001600160a01b038116600090815260036020526040902054819060ff166105f55760405162461bcd60e51b81526004016105b290611d10565b6001600160a01b0382166000908152600360205260408120805460ff191690555b600554600019018110156106c957826001600160a01b03166005828154811061063b57fe5b6000918252602090912001546001600160a01b031614156106c15760058054600019810190811061066857fe5b600091825260209091200154600580546001600160a01b03909216918390811061068e57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506106c9565b600101610616565b5060055460065411156106e2576005546106e290610e62565b6040516001600160a01b038316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526003602052604090205460ff166107495760405162461bcd60e51b81526004016105b290611d10565b60008281526002602090815260408083203380855292529091205483919060ff166107865760405162461bcd60e51b81526004016105b290611beb565b600084815260016020526040902060030154849060ff16156107ba5760405162461bcd60e51b81526004016105b290611ce4565b6000858152600260209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60036020526000908152604090205460ff1681565b600260209081526000928352604080842090915290825290205460ff1681565b6000805b6007548110156108a35783801561086b575060008181526001602052604090206003015460ff16155b8061088f575082801561088f575060008181526001602052604090206003015460ff165b1561089b576001820191505b600101610842565b5092915050565b3330146108c95760405162461bcd60e51b81526004016105b290611cb9565b6001600160a01b038116600090815260036020526040902054819060ff16156109045760405162461bcd60e51b81526004016105b290611c14565b816001600160a01b03811661092b5760405162461bcd60e51b81526004016105b290611d69565b600580549050600101600654603282118061094557508181115b8061094e575080155b80610957575081155b156109745760405162461bcd60e51b81526004016105b290611d91565b6001600160a01b038516600081815260036020526040808220805460ff1916600190811790915560058054918201815583527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b03191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b60046020526000908152604090205481565b600080805b600554811015610a945760008481526002602052604081206005805491929184908110610a4457fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610a78576001820191505b6006548210610a8c57600192505050610a9b565b600101610a1b565b5060009150505b919050565b60088181548110610aad57fe5b60009182526020909120600290910201805460019091015490915082565b6000805b600554811015610b345760008381526002602052604081206005805491929184908110610af857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610b2c576001820191505b600101610acf565b50919050565b333014610b595760405162461bcd60e51b81526004016105b290611cb9565b60008190556040517f884d6758bafbcb4b5e2e0393178ca1f3da3dd380a54ce05ab60aa59756db9dc190610b8e908390611dc8565b60405180910390a150565b6001602081815260009283526040928390208054818401546002808401805488516101009882161598909802600019011691909104601f81018690048602870186019097528686526001600160a01b039092169590949293830182828015610c425780601f10610c1757610100808354040283529160200191610c42565b820191906000526020600020905b815481529060010190602001808311610c2557829003601f168201915b5050506003909301549192505060ff1684565b60606005805480602002602001604051908101604052809291908181526020018280548015610cad57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c8f575b505050505090505b90565b600554606090819067ffffffffffffffff81118015610cd657600080fd5b50604051908082528060200260200182016040528015610d00578160200160208202803683370190505b5090506000805b600554811015610dc35760008581526002602052604081206005805491929184908110610d3057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610dbb5760058181548110610d6a57fe5b9060005260206000200160009054906101000a90046001600160a01b0316838381518110610d9457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001820191505b600101610d07565b8167ffffffffffffffff81118015610dda57600080fd5b50604051908082528060200260200182016040528015610e04578160200160208202803683370190505b509350600090505b81811015610e5457828181518110610e2057fe5b6020026020010151848281518110610e3457fe5b6001600160a01b0390921660209283029190910190910152600101610e0c565b505050919050565b60075481565b333014610e815760405162461bcd60e51b81526004016105b290611cb9565b600554816032821180610e9357508181115b80610e9c575080155b80610ea5575081155b15610ec25760405162461bcd60e51b81526004016105b290611d91565b60068390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90610ef7908590611dc8565b60405180910390a1505050565b60005481565b3360008181526003602052604090205460ff16610f395760405162461bcd60e51b81526004016105b290611d10565b60008281526001602052604090205482906001600160a01b0316610f6f5760405162461bcd60e51b81526004016105b290611c82565b60008381526002602090815260408083203380855292529091205484919060ff1615610fad5760405162461bcd60e51b81526004016105b290611d3c565b6000858152600260209081526040808320338085529252808320805460ff191660011790555187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361100185610a16565b80156110195750600085815260046020526040902054155b801561102b5750611029856115e2565b155b15611085576000805486825260046020526040918290204290910190819055905186907f280af6a3ba059a74f0e894262aa07f2c4d0de1e231882263c0d7dcda111b1a449061107b908490611dc8565b60405180910390a2505b5050505050565b60085490565b3360008181526003602052604081205490919060ff166110c45760405162461bcd60e51b81526004016105b290611d10565b856001600160a01b0381166110eb5760405162461bcd60e51b81526004016105b290611d69565b60075492506040518060800160405280886001600160a01b0316815260200187815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182018190528581526001808352604091829020845181546001600160a01b0319166001600160a01b039091161781558484015191810191909155908301518051919261119f926002850192909101906117cd565b50606091909101516003909101805460ff191691151591909117905560078054600101905560405183907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a26111f883610f0a565b5050949350505050565b603281565b60065481565b33301461122c5760405162461bcd60e51b81526004016105b290611cb9565b6001600160a01b038216600090815260036020526040902054829060ff166112665760405162461bcd60e51b81526004016105b290611d10565b6001600160a01b038216600090815260036020526040902054829060ff16156112a15760405162461bcd60e51b81526004016105b290611c14565b60005b60055481101561132957846001600160a01b0316600582815481106112c557fe5b6000918252602090912001546001600160a01b031614156113215783600582815481106112ee57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550611329565b6001016112a4565b506001600160a01b03808516600081815260036020526040808220805460ff1990811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a26040516001600160a01b038416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b3360008181526003602052604090205460ff166113f25760405162461bcd60e51b81526004016105b290611d10565b600082815260016020526040902060030154829060ff16156114265760405162461bcd60e51b81526004016105b290611ce4565b6000838152600460205260409020544210156114545760405162461bcd60e51b81526004016105b290611c4b565b61145d83610a16565b1561155957600083815260016020819052604080832060038101805460ff19168417905580549281015491519093926001600160a01b031691906114a5906002860190611a94565b60006040518083038185875af1925050503d80600081146114e2576040519150601f19603f3d011682016040523d82523d6000602084013e6114e7565b606091505b5050905080156115215760405185907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2611085565b60405185907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a250600301805460ff191690555b505050565b33301461157d5760405162461bcd60e51b81526004016105b290611cb9565b600860405180604001604052808460405160200161159b9190611b04565b60408051601f198184030181529190528051602091820120825290810193909352815460018181018455600093845292849020825160029092020190815592015191015550565b60008181526001602081815260408084206002908101805483519581161561010002600019011691909104601f8101849004840285018401909252818452606093929091908301828280156116785780601f1061164d57610100808354040283529160200191611678565b820191906000526020600020905b81548152906001019060200180831161165b57829003601f168201915b50939450600093505050505b600854811015610a945761169661184b565b600882815481106116a357fe5b9060005260206000209060020201604051806040016040529081600082015481526020016001820154815250509050806020015160040183511480156116eb57506004835110155b801561171d5750826000815181106116ff57fe5b602091010151815160001a60f81b6001600160f81b03199081169116145b801561174f57508260018151811061173157fe5b602091010151815160011a60f81b6001600160f81b03199081169116145b801561178157508260028151811061176357fe5b602091010151815160021a60f81b6001600160f81b03199081169116145b80156117b357508260038151811061179557fe5b602091010151815160031a60f81b6001600160f81b03199081169116145b156117c45760019350505050610a9b565b50600101611684565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061180e57805160ff191683800117855561183b565b8280016001018555821561183b579182015b8281111561183b578251825591602001919060010190611820565b50611847929150611862565b5090565b604080518082019091526000808252602082015290565b610cb591905b808211156118475760008155600101611868565b80356001600160a01b038116811461189357600080fd5b92915050565b8035801515811461189357600080fd5b6000602082840312156118ba578081fd5b6118c4838361187c565b9392505050565b600080604083850312156118dd578081fd5b6118e7848461187c565b91506118f6846020850161187c565b90509250929050565b60008060008060608587031215611914578182fd5b84356001600160a01b038116811461192a578283fd5b935060208501359250604085013567ffffffffffffffff8082111561194d578384fd5b81870188601f82011261195e578485fd5b803592508183111561196e578485fd5b88602084830101111561197f578485fd5b959894975050602090940194505050565b600080604083850312156119a2578182fd5b6119ac8484611899565b91506118f68460208501611899565b600080604083850312156119cd578182fd5b823567ffffffffffffffff808211156119e4578384fd5b81850186601f8201126119f5578485fd5b8035925081831115611a05578485fd5b6040516020601f8501601f1916820181018481118382101715611a26578788fd5b6040528482528285018101891015611a3c578687fd5b848184018284013793810184019590955250929593013593505050565b600060208284031215611a6a578081fd5b5035919050565b60008060408385031215611a83578182fd5b823591506118f6846020850161187c565b6000808354600180821660008114611ab35760018114611aca57611af9565b60ff198316865260028304607f1686019350611af9565b600283048786526020808720875b83811015611af15781548a820152908501908201611ad8565b505050860193505b509195945050505050565b60008251611b16818460208701611dd1565b9190910192915050565b6001600160a01b0391909116815260200190565b600060018060a01b0386168252846020830152608060408301528351806080840152611b678160a0850160208801611dd1565b921515606083015250601f91909101601f19160160a0019392505050565b6020808252825182820181905260009190848201906040850190845b81811015611bc65783516001600160a01b031683529284019291840191600101611ba1565b50909695505050505050565b901515815260200190565b918252602082015260400190565b6020808252600f908201526e21a7a72324a926a2a22fa2a92927a960891b604082015260600190565b6020808252601a908201527f4f574e45525f444f45535f4e4f545f45584953545f4552524f52000000000000604082015260600190565b6020808252601a908201527f5452414e53414354494f4e5f4e4545445f544f5f554e4c4f434b000000000000604082015260600190565b60208082526018908201527f5452414e53414354494f4e5f4558495354535f4552524f520000000000000000604082015260600190565b60208082526011908201527027a7262cafaba0a62622aa2fa2a92927a960791b604082015260600190565b6020808252601290820152712727aa2fa2ac22a1aaaa22a22fa2a92927a960711b604082015260600190565b60208082526012908201527127aba722a92fa2ac24a9aa29afa2a92927a960711b604082015260600190565b6020808252601390820152722727aa2fa1a7a72324a926a2a22fa2a92927a960691b604082015260600190565b6020808252600e908201526d2727aa2fa72aa6262fa2a92927a960911b604082015260600190565b60208082526017908201527f56414c49445f524551554952454d454e545f4552524f52000000000000000000604082015260600190565b90815260200190565b60005b83811015611dec578181015183820152602001611dd4565b83811115611dfb576000848401525b5050505056fea26469706673582212203d74ff7a7391bb0bef594d5f3bb61dffe44dc359928a4708db3053e543a82a4764736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "204:13524:16:-:0;;;325:5;296:34;;3577:1058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3674:7;:14;3690:9;288:2;2862:10;:28;:66;;;;2918:10;2906:9;:22;2862:66;:96;;;-1:-1:-1;2944:14:16;;2862:96;:127;;;-1:-1:-1;2974:15:16;;2862:127;2845:188;;;3000:33;;-1:-1:-1;;;3000:33:16;;;;;;;;;;;;;;;;2845:188;3720:9:::1;3715:217;3739:7;:14;3735:1;:18;3715:217;;;3778:7;:19;3786:7;3794:1;3786:10;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;3778:19:16::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;3778:19:16;;::::1;;::::0;:47:::1;;;3823:1;-1:-1:-1::0;;;;;3801:24:16::1;:7;3809:1;3801:10;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3801:24:16::1;;3778:47;3774:107;;;3845:21;;-1:-1:-1::0;;;3845:21:16::1;;;;;;;;3774:107;3917:4;3895:7;:19;3903:7;3911:1;3903:10;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;3895:19:16::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;3895:19:16;:26;;-1:-1:-1;;3895:26:16::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;3755:3:16::1;3715:217;;;-1:-1:-1::0;3942:16:16;;::::1;::::0;:6:::1;::::0;:16:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;3968:8:16::1;:20:::0;;;4070:141:::1;::::0;;;;::::1;::::0;;;4037:14:::1;::::0;4070:141;4122:36:::1;::::0;;;::::1;;;;::::0;;-1:-1:-1;;4122:36:16;;::::1;::::0;;;;;;4112:47;;4122:36:::1;4112:47:::0;;::::1;::::0;4070:141;;4195:1:::1;4070:141:::0;;::::1;::::0;;;4037:184;;::::1;::::0;;::::1;::::0;;;;;;;;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;;::::1;::::0;;;;4264:139;;;;::::1;::::0;;;4231:14:::1;::::0;4264:139;4316:33:::1;::::0;;;::::1;;;;::::0;;-1:-1:-1;;4316:33:16;;::::1;::::0;;;;;;4306:44;;4316:33:::1;4306:44:::0;;::::1;::::0;4264:139;;;;::::1;::::0;;;4231:182;;::::1;::::0;;::::1;::::0;;-1:-1:-1;4231:182:16;;;;;;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;;;;::::1;::::0;4456:162;;;;::::1;::::0;;;4423:14:::1;::::0;4456:162;4508:56:::1;::::0;;;::::1;;;;::::0;;-1:-1:-1;;4508:56:16;;::::1;::::0;;;;;;4498:67;;4508:56:::1;4498:67:::0;;::::1;::::0;4456:162;;;;::::1;::::0;;;;4423:205;;::::1;::::0;;::::1;::::0;;-1:-1:-1;4423:205:16;;;;;;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;;::::1;::::0;-1:-1:-1;204:13524:16;;-1:-1:-1;;;204:13524:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;204:13524:16;-1:-1:-1;;;;;204:13524:16;;;;;;;;;;;-1:-1:-1;204:13524:16;;;;;;;-1:-1:-1;204:13524:16;;;-1:-1:-1;204:13524:16;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;204:13524:16;;;;;;;;;:::o;5:134:-1:-;83:13;;-1:-1;;;;;6429:54;;6633:35;;6623:2;;6682:1;;6672:12;6623:2;68:71;;;;;1035:528;;;1192:2;1180:9;1171:7;1167:23;1163:32;1160:2;;;-1:-1;;1198:12;1160:2;1243:24;;-1:-1;;;;;1276:30;;;1273:2;;;-1:-1;;1309:12;1273:2;1411:6;1400:9;1396:22;292:3;285:4;277:6;273:17;269:27;259:2;;-1:-1;;300:12;259:2;340:6;334:13;320:27;;1287:18;5783:6;5780:30;5777:2;;;-1:-1;;5813:12;5777:2;5858:4;;;;5850:6;5846:17;362:80;5858:4;5846:17;5911:15;362:80;;;470:21;;;527:14;;;;502:17;;;607:27;;;;;604:36;-1:-1;601:2;;;-1:-1;;643:12;601:2;-1:-1;669:10;;663:217;688:6;685:1;682:13;663:217;;;768:48;812:3;800:10;768:48;;;756:61;;710:1;703:9;;;;;831:14;;;;859;;663:217;;;-1:-1;1515:22;;;;972:13;1329:99;;972:13;;-1:-1;;;;;;;1154:409;3359:381;-1:-1;;;1847:39;;1831:2;1905:12;;3548:192;3747:381;2548:34;2528:55;;-1:-1;;;2612:2;2603:12;;2596:28;2512:2;2643:12;;3936:192;4135:381;-1:-1;;;2946:36;;2930:2;3001:12;;4324:192;4523:416;4723:2;4737:47;;;2156:2;4708:18;;;6047:19;-1:-1;;;6087:14;;;2172:34;2225:12;;;4694:245;4946:416;5146:2;5160:47;;;3252:2;5131:18;;;6047:19;3288:25;6087:14;;;3268:46;3333:12;;;5117:245;5369:256;5431:2;5425:9;5457:17;;;-1:-1;;;;;5517:34;;5553:22;;;5514:62;5511:2;;;5589:1;;5579:12;5511:2;5431;5598:22;5409:216;;-1:-1;5409:216;;204:13524:16;;;;;;", - "deployedSourceMap": "204:13524:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3286:9;:13;3282:79;;3328:10;-1:-1:-1;;;;;3320:30:16;;3340:9;3320:30;;;;;;;;;;;;;;;3282:79;204:13524;;3158:9;:13;3154:79;;3200:10;-1:-1:-1;;;;;3192:30:16;;3212:9;3192:30;;;;;;;1216:23;;;;;;;;;;-1:-1:-1;1216:23:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5306:465;;;;;;;;;;-1:-1:-1;5306:465:16;;;;;;;;:::i;9958:301::-;;;;;;;;;;-1:-1:-1;9958:301:16;;;;;;;;:::i;1118:39::-;;;;;;;;;;-1:-1:-1;1118:39:16;;;;;;;;:::i;:::-;;;;;;;;1047:65;;;;;;;;;;-1:-1:-1;1047:65:16;;;;;;;;:::i;12379:340::-;;;;;;;;;;-1:-1:-1;12379:340:16;;;;;;;;:::i;:::-;;;;;;;;4892:284;;;;;;;;;;-1:-1:-1;4892:284:16;;;;;;;;:::i;1163:46::-;;;;;;;;;;-1:-1:-1;1163:46:16;;;;;;;;:::i;11270:375::-;;;;;;;;;;-1:-1:-1;11270:375:16;;;;;;;;:::i;1579:37::-;;;;;;;;;;-1:-1:-1;1579:37:16;;;;;;;;:::i;:::-;;;;;;;;;11843:263;;;;;;;;;;-1:-1:-1;11843:263:16;;;;;;;;:::i;7055:158::-;;;;;;;;;;-1:-1:-1;7055:158:16;;;;;;;;:::i;990:51::-;;;;;;;;;;-1:-1:-1;990:51:16;;;;;;;;:::i;:::-;;;;;;;;;;;12810:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;13102:624;;;;;;;;;;-1:-1:-1;13102:624:16;;;;;;;;:::i;1274:31::-;;;;;;;;;;;;;:::i;6635:215::-;;;;;;;;;;-1:-1:-1;6635:215:16;;;;;;;;:::i;296:34::-;;;;;;;;;;;;;:::i;8146:654::-;;;;;;;;;;-1:-1:-1;8146:654:16;;;;;;;;:::i;4641:117::-;;;;;;;;;;;;;:::i;7490:543::-;;;;;;;;;;-1:-1:-1;7490:543:16;;;;;;;;:::i;246:44::-;;;;;;;;;;;;;:::i;1245:23::-;;;;;;;;;;;;;:::i;5976:481::-;;;;;;;;;;-1:-1:-1;5976:481:16;;;;;;;;:::i;10380:733::-;;;;;;;;;;-1:-1:-1;10380:733:16;;;;;;;;:::i;9525:302::-;;;;;;;;;;-1:-1:-1;9525:302:16;;;;;;;;:::i;1216:23::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1216:23:16;;-1:-1:-1;1216:23:16;:::o;5306:465::-;1659:10;1681:4;1659:27;1655:60;;1688:27;;-1:-1:-1;;;1688:27:16;;;;;;;;;;;;;;;;1655:60;-1:-1:-1;;;;;1922:14:16;::::1;;::::0;;;:7:::1;:14;::::0;;;;;5374:5;;1922:14:::1;;1917:49;;1938:28;;-1:-1:-1::0;;;1938:28:16::1;;;;;;;;1917:49;-1:-1:-1::0;;;;;5391:14:16;::::2;5408:5;5391:14:::0;;;:7:::2;:14;::::0;;;;:22;;-1:-1:-1;;5391:22:16::2;::::0;;5423:189:::2;5447:6;:13:::0;-1:-1:-1;;5447:17:16;5443:21;::::2;5423:189;;;5502:5;-1:-1:-1::0;;;;;5489:18:16::2;:6;5496:1;5489:9;;;;;;;;;::::0;;;::::2;::::0;;;::::2;::::0;-1:-1:-1;;;;;5489:9:16::2;:18;5485:117;;;5539:6;5546:13:::0;;-1:-1:-1;;5546:17:16;;;5539:25;::::2;;;;;;::::0;;;::::2;::::0;;;::::2;::::0;5527:6:::2;:9:::0;;-1:-1:-1;;;;;5539:25:16;;::::2;::::0;5534:1;;5527:9;::::2;;;;;;;;;;;;;:37;;;;;-1:-1:-1::0;;;;;5527:37:16::2;;;;;-1:-1:-1::0;;;;;5527:37:16::2;;;;;;5582:5;;5485:117;5466:3;;5423:189;;;-1:-1:-1::0;5658:6:16::2;:13:::0;5647:8:::2;::::0;:24:::2;5643:87;;;5705:6;:13:::0;5687:32:::2;::::0;:17:::2;:32::i;:::-;5745:19;::::0;-1:-1:-1;;;;;5745:19:16;::::2;::::0;::::2;::::0;;;::::2;1725:1:::1;5306:465:::0;:::o;9958:301::-;10046:10;1922:14;;;;:7;:14;;;;;;;;1917:49;;1938:28;;-1:-1:-1;;;1938:28:16;;;;;;;;1917:49;2251:28:::1;::::0;;;:13:::1;:28;::::0;;;;;;;10091:10:::1;2251:35:::0;;;;;;;;;10076:13;;10091:10;2251:35:::1;;2246:67;;2288:25;;-1:-1:-1::0;;;2288:25:16::1;;;;;;;;2246:67;2559:27:::2;::::0;;;:12:::2;:27;::::0;;;;:36:::2;;::::0;10123:13;;2559:36:::2;;2555:70;;;2597:28;;-1:-1:-1::0;;;2597:28:16::2;;;;;;;;2555:70;10195:5:::3;10152:28:::0;;;:13:::3;:28;::::0;;;;;;;10181:10:::3;10152:40:::0;;;;;;;;:48;;-1:-1:-1;;10152:48:16::3;::::0;;10215:37;10166:13;;10215:37:::3;::::0;::::3;2323:1:::2;1976::::1;;9958:301:::0;;:::o;1118:39::-;;;;;;;;;;;;;;;:::o;1047:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12379:340::-;12484:13;;12513:200;12537:16;;12533:1;:20;12513:200;;;12579:7;:36;;;;-1:-1:-1;12591:15:16;;;;:12;:15;;;;;:24;;;;;12590:25;12579:36;12578:80;;;;12621:8;:36;;;;-1:-1:-1;12633:15:16;;;;:12;:15;;;;;:24;;;;;12621:36;12574:129;;;12687:1;12678:10;;;;12574:129;12555:3;;12513:200;;;;12379:340;;;;:::o;4892:284::-;1659:10;1681:4;1659:27;1655:60;;1688:27;;-1:-1:-1;;;1688:27:16;;;;;;;;1655:60;-1:-1:-1;;;;;1795:14:16;::::1;;::::0;;;:7:::1;:14;::::0;;;;;4987:5;;1795:14:::1;;1791:56;;;1811:36;;-1:-1:-1::0;;;1811:36:16::1;;;;;;;;1791:56;5010:5:::0;-1:-1:-1;;;;;2698:22:16;::::2;2694:52;;2722:24;;-1:-1:-1::0;;;2722:24:16::2;;;;;;;;2694:52;5042:6:::3;:13;;;;5058:1;5042:17;5061:8;;288:2;2862:10;:28;:66;;;;2918:10;2906:9;:22;2862:66;:96;;;-1:-1:-1::0;2944:14:16;;2862:96:::3;:127;;;-1:-1:-1::0;2974:15:16;;2862:127:::3;2845:188;;;3000:33;;-1:-1:-1::0;;;3000:33:16::3;;;;;;;;2845:188;-1:-1:-1::0;;;;;5085:14:16;::::4;;::::0;;;:7:::4;:14;::::0;;;;;:21;;-1:-1:-1;;5085:21:16::4;5102:4;5085:21:::0;;::::4;::::0;;;5116:6:::4;:18:::0;;;;::::4;::::0;;;;;::::4;::::0;;-1:-1:-1;;;;;;5116:18:16::4;::::0;::::4;::::0;;5149:20;::::4;::::0;5085:14;5149:20:::4;2756:1:::3;;1857::::2;1725::::1;4892:284:::0;:::o;1163:46::-;;;;;;;;;;;;;:::o;11270:375::-;11335:4;;;11379:237;11403:6;:13;11399:17;;11379:237;;;11441:28;;;;:13;:28;;;;;11470:6;:9;;11441:28;;;11477:1;;11470:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11470:9:16;11441:39;;;;;;;;;;;;;;;11437:88;;;11509:1;11500:10;;;;11437:88;11552:8;;11543:5;:17;11539:67;;11587:4;11580:11;;;;;;11539:67;11418:3;;11379:237;;;;11633:5;11626:12;;;11270:375;;;;:::o;1579:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1579:37:16;:::o;11843:263::-;11919:13;;11944:156;11968:6;:13;11964:17;;11944:156;;;12006:28;;;;:13;:28;;;;;12035:6;:9;;12006:28;;;12042:1;;12035:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12035:9:16;12006:39;;;;;;;;;;;;;;;12002:88;;;12074:1;12065:10;;;;12002:88;11983:3;;11944:156;;;;11843:263;;;:::o;7055:158::-;1659:10;1681:4;1659:27;1655:60;;1688:27;;-1:-1:-1;;;1688:27:16;;;;;;;;1655:60;7134:11:::1;:26:::0;;;7175:31:::1;::::0;::::1;::::0;::::1;::::0;7148:12;;7175:31:::1;;;;;;;;;;7055:158:::0;:::o;990:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;990:51:16;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;990:51:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;990:51:16;;;;;;;-1:-1:-1;;990:51:16;;;:::o;12810:92::-;12854:16;12889:6;12882:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12882:13:16;;;;;;;;;;;;;;;;;;;;;;;12810:92;;:::o;13102:624::-;13296:6;:13;13198:31;;;;13282:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13282:28:16;-1:-1:-1;13245:65:16;-1:-1:-1;13320:13:16;;13367:202;13383:6;:13;13379:17;;13367:202;;;13421:28;;;;:13;:28;;;;;13450:6;:9;;13421:28;;;13457:1;;13450:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13450:9:16;13421:39;;;;;;;;;;;;;;;13417:142;;;13507:6;13514:1;13507:9;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13507:9:16;13480:17;13498:5;13480:24;;;;;;;;;;;;;:36;-1:-1:-1;;;;;13480:36:16;;;-1:-1:-1;;;;;13480:36:16;;;;;13543:1;13534:10;;;;13417:142;13398:3;;13367:202;;;13610:5;13596:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13596:20:16;;13579:37;;13636:1;13632:5;;13627:93;13643:5;13639:1;:9;13627:93;;;13689:17;13707:1;13689:20;;;;;;;;;;;;;;13669:14;13684:1;13669:17;;;;;;;;-1:-1:-1;;;;;13669:40:16;;;:17;;;;;;;;;;;:40;13650:3;;13627:93;;;13102:624;;;;;;:::o;1274:31::-;;;;:::o;6635:215::-;1659:10;1681:4;1659:27;1655:60;;1688:27;;-1:-1:-1;;;1688:27:16;;;;;;;;1655:60;6740:6:::1;:13:::0;6755:9;288:2:::1;2862:28:::0;::::1;::::0;:66:::1;;;2918:10;2906:9;:22;2862:66;:96;;;-1:-1:-1::0;2944:14:16;;2862:96:::1;:127;;;-1:-1:-1::0;2974:15:16;;2862:127:::1;2845:188;;;3000:33;;-1:-1:-1::0;;;3000:33:16::1;;;;;;;;2845:188;6780:8:::2;:20:::0;;;6815:28:::2;::::0;::::2;::::0;::::2;::::0;6791:9;;6815:28:::2;;;;;;;;;;1725:1:::1;;6635:215:::0;:::o;296:34::-;;;;:::o;8146:654::-;8232:10;1922:14;;;;:7;:14;;;;;;;;1917:49;;1938:28;;-1:-1:-1;;;1938:28:16;;;;;;;;1917:49;2105:1:::1;2054:27:::0;;;:12:::1;:27;::::0;;;;:39;8270:13;;-1:-1:-1;;;;;2054:39:16::1;2050:105;;2121:34;;-1:-1:-1::0;;;2121:34:16::1;;;;;;;;2050:105;2411:28:::2;::::0;;;:13:::2;:28;::::0;;;;;;;8321:10:::2;2411:35:::0;;;;;;;;;8306:13;;8321:10;2411:35:::2;;2407:70;;;2448:29;;-1:-1:-1::0;;;2448:29:16::2;;;;;;;;2407:70;8347:28:::3;::::0;;;:13:::3;:28;::::0;;;;;;;8376:10:::3;8347:40:::0;;;;;;;;:47;;-1:-1:-1;;8347:47:16::3;8390:4;8347:47;::::0;;8409:39;8361:13;;8409:39:::3;::::0;::::3;8476:26;8488:13;8476:11;:26::i;:::-;:73;;;;-1:-1:-1::0;8518:26:16::3;::::0;;;:11:::3;:26;::::0;;;;;:31;8476:73:::3;:120;;;;;8566:30;8582:13;8566:15;:30::i;:::-;8565:31;8476:120;8459:335;;;8621:18;8660:11:::0;;8685:26;;;:11:::3;:26;::::0;;;;;;8642:15:::3;:29:::0;;::::3;8685:39:::0;;;;8743:40;;8697:13;;8743:40:::3;::::0;::::3;::::0;8642:29;;8743:40:::3;;;;;;;;;;8459:335;;2165:1:::2;;1976::::1;8146:654:::0;;:::o;4641:117::-;4730:14;:21;4641:117;:::o;7490:543::-;7625:10;7667:21;1922:14;;;:7;:14;;;;;;7667:21;;7625:10;1922:14;;1917:49;;1938:28;;-1:-1:-1;;;1938:28:16;;;;;;;;1917:49;7645:11;-1:-1:-1;;;;;2698:22:16;::::1;2694:52;;2722:24;;-1:-1:-1::0;;;2722:24:16::1;;;;;;;;2694:52;7716:16:::2;;7700:32;;7772:140;;;;;;;;7811:11;-1:-1:-1::0;;;;;7772:140:16::2;;;;;7843:5;7772:140;;;;7868:4;;7772:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;7772:140:16;;;-1:-1:-1;;;7772:140:16::2;::::0;;::::2;::::0;;;7742:27;;;7772:140;7742:27;;;;;;;;:170;;;;-1:-1:-1;;;;;;7742:170:16::2;-1:-1:-1::0;;;;;7742:170:16;;::::2;;::::0;;;;::::2;::::0;;;::::2;::::0;;;;;;::::2;::::0;;;:27;;:170:::2;::::0;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;-1:-1:-1::0;7742:170:16::2;::::0;;;::::2;::::0;::::2;::::0;;::::2;::::0;;-1:-1:-1;;7742:170:16::2;::::0;::::2;;::::0;;;::::2;::::0;;7922:16:::2;:21:::0;;-1:-1:-1;7922:21:16::2;::::0;;7958:25:::2;::::0;7969:13;;7958:25:::2;::::0;-1:-1:-1;;7958:25:16::2;7993:33;8012:13;7993:18;:33::i;:::-;1976:1:::1;7490:543:::0;;;;;;;:::o;246:44::-;288:2;246:44;:::o;1245:23::-;;;;:::o;5976:481::-;1659:10;1681:4;1659:27;1655:60;;1688:27;;-1:-1:-1;;;1688:27:16;;;;;;;;1655:60;-1:-1:-1;;;;;1922:14:16;::::1;;::::0;;;:7:::1;:14;::::0;;;;;6087:5;;1922:14:::1;;1917:49;;1938:28;;-1:-1:-1::0;;;1938:28:16::1;;;;;;;;1917:49;-1:-1:-1::0;;;;;1795:14:16;::::2;;::::0;;;:7:::2;:14;::::0;;;;;6120:8;;1795:14:::2;;1791:56;;;1811:36;;-1:-1:-1::0;;;1811:36:16::2;;;;;;;;1791:56;6149:9:::3;6144:168;6168:6;:13:::0;6164:17;::::3;6144:168;;;6219:5;-1:-1:-1::0;;;;;6206:18:16::3;:6;6213:1;6206:9;;;;;;;;;::::0;;;::::3;::::0;;;::::3;::::0;-1:-1:-1;;;;;6206:9:16::3;:18;6202:100;;;6256:8;6244:6;6251:1;6244:9;;;;;;;;;;;;;;;;:20;;;;;-1:-1:-1::0;;;;;6244:20:16::3;;;;;-1:-1:-1::0;;;;;6244:20:16::3;;;;;;6282:5;;6202:100;6183:3;;6144:168;;;-1:-1:-1::0;;;;;;6322:14:16;;::::3;6339:5;6322:14:::0;;;:7:::3;:14;::::0;;;;;:22;;-1:-1:-1;;6322:22:16;;::::3;::::0;;;6354:17;;::::3;::::0;;;;;:24;;;;::::3;6322:22:::0;6354:24:::3;::::0;;;6393:19;;6322:14;;6393:19:::3;::::0;::::3;6427:23;::::0;-1:-1:-1;;;;;6427:23:16;::::3;::::0;::::3;::::0;;;::::3;1976:1:::2;1725::::1;5976:481:::0;;:::o;10380:733::-;10468:10;1922:14;;;;:7;:14;;;;;;;;1917:49;;1938:28;;-1:-1:-1;;;1938:28:16;;;;;;;;1917:49;2559:27:::1;::::0;;;:12:::1;:27;::::0;;;;:36:::1;;::::0;10500:13;;2559:36:::1;;2555:70;;;2597:28;;-1:-1:-1::0;;;2597:28:16::1;;;;;;;;2555:70;10556:26:::2;::::0;;;:11:::2;:26;::::0;;;;;10537:15:::2;:45;;10529:84;;;;-1:-1:-1::0;;;10529:84:16::2;;;;;;;;;10628:26;10640:13;10628:11;:26::i;:::-;10624:483;;;10670:31;10704:27:::0;;;:12:::2;:27;::::0;;;;;;;10745:20:::2;::::0;::::2;:27:::0;;-1:-1:-1;;10745:27:16::2;::::0;::::2;::::0;;10805:23;;10841:17;;::::2;::::0;10805:102;;10704:27;;10670:31;-1:-1:-1;;;;;10805:23:16::2;::::0;10841:17;10805:102:::2;::::0;10877:16:::2;::::0;::::2;::::0;10805:102:::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10786:121;;;10925:7;10921:176;;;10939:24;::::0;10949:13;;10939:24:::2;::::0;;;::::2;10921:176;;;11005:31;::::0;11022:13;;11005:31:::2;::::0;;;::::2;-1:-1:-1::0;11054:20:16::2;;:28:::0;;-1:-1:-1;;11054:28:16::2;::::0;;10624:483:::2;1976:1:::1;10380:733:::0;;:::o;9525:302::-;1659:10;1681:4;1659:27;1655:60;;1688:27;;-1:-1:-1;;;1688:27:16;;;;;;;;1655:60;9630:14:::1;9663:147;;;;;;;;9732:8;9715:26;;;;;;;;;;;::::0;;-1:-1:-1;;9715:26:16;;::::1;::::0;;;;;;9705:37;;9715:26:::1;9705:37:::0;;::::1;::::0;9663:147;;;;::::1;::::0;;;;9630:190;;::::1;::::0;;::::1;::::0;;-1:-1:-1;9630:190:16;;;;;;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;;::::1;::::0;-1:-1:-1;9525:302:16:o;8806:713::-;8877:4;8913:27;;;:12;:27;;;;;;;;:32;;;;8893:52;;;;;;;;;;-1:-1:-1;;8893:52:16;;;;;;;;;;;;;;;;;;;;;;;;:17;;:52;8913:32;;8893:52;;;8913:32;8893:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8893:52:16;;-1:-1:-1;8961:9:16;;-1:-1:-1;;;;8956:534:16;8980:14;:21;8976:25;;8956:534;;;9022:34;;:::i;:::-;9059:14;9074:1;9059:17;;;;;;;;;;;;;;;;;;9022:54;;;;;;;;;;;;;;;;;;;;;;;;;;;9127:13;:30;;;9160:1;9127:34;9112:4;:11;:49;:85;;;;;9196:1;9181:4;:11;:16;;9112:85;:141;;;;;9246:4;9251:1;9246:7;;;;;;;;;;;;;9217:22;;;:25;;;-1:-1:-1;;;;;;9217:36:16;;;9246:7;;9217:36;9112:141;:197;;;;;9302:4;9307:1;9302:7;;;;;;;;;;;;;9273:22;;9296:1;9273:25;;;-1:-1:-1;;;;;;9273:36:16;;;9302:7;;9273:36;9112:197;:253;;;;;9358:4;9363:1;9358:7;;;;;;;;;;;;;9329:22;;9352:1;9329:25;;;-1:-1:-1;;;;;;9329:36:16;;;9358:7;;9329:36;9112:253;:309;;;;;9414:4;9419:1;9414:7;;;;;;;;;;;;;9385:22;;9408:1;9385:25;;;-1:-1:-1;;;;;;9385:36:16;;;9414:7;;9385:36;9112:309;9091:389;;;9461:4;9454:11;;;;;;;9091:389;-1:-1:-1;9003:3:16;;8956:534;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;5:130;72:20;;-1:-1;;;;;19741:54;;20481:35;;20471:2;;20530:1;;20520:12;20471:2;57:78;;;;;142:124;206:20;;19574:13;;19567:21;20602:32;;20592:2;;20648:1;;20638:12;1219:241;;1323:2;1311:9;1302:7;1298:23;1294:32;1291:2;;;-1:-1;;1329:12;1291:2;1391:53;1436:7;1412:22;1391:53;;;1381:63;1285:175;-1:-1;;;1285:175;1467:366;;;1588:2;1576:9;1567:7;1563:23;1559:32;1556:2;;;-1:-1;;1594:12;1556:2;1656:53;1701:7;1677:22;1656:53;;;1646:63;;1764:53;1809:7;1746:2;1789:9;1785:22;1764:53;;;1754:63;;1550:283;;;;;;1840:615;;;;;1997:2;1985:9;1976:7;1972:23;1968:32;1965:2;;;-1:-1;;2003:12;1965:2;72:20;;-1:-1;;;;;19741:54;;20481:35;;20471:2;;-1:-1;;20520:12;20471:2;2055:63;-1:-1;2155:2;2194:22;;1149:20;;-1:-1;2291:2;2276:18;;2263:32;2315:18;2304:30;;;2301:2;;;-1:-1;;2337:12;2301:2;2422:6;2411:9;2407:22;401:3;394:4;386:6;382:17;378:27;368:2;;-1:-1;;409:12;368:2;452:6;439:20;429:30;;2315:18;471:6;468:30;465:2;;;-1:-1;;501:12;465:2;596:3;2155:2;576:17;537:6;562:32;;559:41;556:2;;;-1:-1;;603:12;556:2;1959:496;;;;-1:-1;;2155:2;533:17;;;;-1:-1;;;1959:496;2462:354;;;2577:2;2565:9;2556:7;2552:23;2548:32;2545:2;;;-1:-1;;2583:12;2545:2;2645:50;2687:7;2663:22;2645:50;;;2635:60;;2750:50;2792:7;2732:2;2772:9;2768:22;2750:50;;2823:472;;;2954:2;2942:9;2933:7;2929:23;2925:32;2922:2;;;-1:-1;;2960:12;2922:2;3018:17;3005:31;3056:18;;3048:6;3045:30;3042:2;;;-1:-1;;3078:12;3042:2;3154:6;3143:9;3139:22;734:3;727:4;719:6;715:17;711:27;701:2;;-1:-1;;742:12;701:2;789:6;776:20;762:34;;3056:18;17542:6;17539:30;17536:2;;;-1:-1;;17572:12;17536:2;2954;17199:9;17713:4;17645:9;17626:17;;-1:-1;;17622:33;17231:17;;;;17291:34;;;17327:22;;;17288:62;17285:2;;;-1:-1;;17353:12;17285:2;2954;17372:22;882:21;;;982:16;;;;;979:25;-1:-1;976:2;;;-1:-1;;1007:12;976:2;19968:6;17713:4;924:6;920:17;17713:4;958:5;954:16;19945:30;20006:16;;;;;19999:27;;;;-1:-1;958:5;;3247:22;;1149:20;;-1:-1;;;2916:379;3302:241;;3406:2;3394:9;3385:7;3381:23;3377:32;3374:2;;;-1:-1;;3412:12;3374:2;-1:-1;1149:20;;3368:175;-1:-1;3368:175;3550:366;;;3671:2;3659:9;3650:7;3646:23;3642:32;3639:2;;;-1:-1;;3677:12;3639:2;3760:22;1149:20;3729:63;;3847:53;3892:7;3829:2;3872:9;3868:22;3847:53;;10332:265;;-1:-1;5803:5;5797:12;5837:1;;5826:9;5822:17;5850:1;5845:267;;;;6123:1;6118:423;;;;5815:726;;5845:267;-1:-1;;6049:25;;6037:38;;5919:1;5904:17;;5923:4;5900:28;6089:16;;;-1:-1;5845:267;;6118:423;6187:1;6176:9;6172:17;17997:3;-1:-1;17987:14;18029:4;;-1:-1;18016:18;-1:-1;6374:130;6388:6;6385:1;6382:13;6374:130;;;6447:14;;6434:11;;;6427:35;6481:15;;;;6403:12;;6374:130;;;-1:-1;;;6518:16;;;-1:-1;5815:726;-1:-1;10582:10;;10463:134;-1:-1;;;;;10463:134;10604:275;;6718:5;18160:12;6830:52;6875:6;6870:3;6863:4;6856:5;6852:16;6830:52;;;6894:16;;;;;10740:139;-1:-1;;10740:139;10886:222;-1:-1;;;;;19741:54;;;;4166:37;;11013:2;10998:18;;10984:124;11115:628;;19752:42;;;;;4196:5;19741:54;4173:3;4166:37;5276:5;11503:2;11492:9;11488:18;5246:37;11338:3;11540:2;11529:9;11525:18;11518:48;5437:5;18160:12;18704:6;11338:3;11327:9;11323:19;18692;5530:52;5575:6;18732:14;11327:9;18732:14;11503:2;5556:5;5552:16;5530:52;;;19574:13;;19567:21;11729:2;11714:18;;5129:34;-1:-1;17645:9;20385:14;;;;-1:-1;;20381:28;5594:39;18732:14;5594:39;;11309:434;-1:-1;;;11309:434;11750:370;11927:2;11941:47;;;18160:12;;11912:18;;;18692:19;;;11750:370;;11927:2;17850:14;;;;18732;;;;11750:370;4774:260;4799:6;4796:1;4793:13;4774:260;;;4860:13;;-1:-1;;;;;19741:54;4166:37;;18547:14;;;;4077;;;;19752:42;4814:9;4774:260;;;-1:-1;11994:116;;11898:222;-1:-1;;;;;;11898:222;12127:210;19574:13;;19567:21;5129:34;;12248:2;12233:18;;12219:118;12344:333;5246:37;;;12663:2;12648:18;;5246:37;12499:2;12484:18;;12470:207;12684:416;12884:2;12898:47;;;7147:2;12869:18;;;18692:19;-1:-1;;;18732:14;;;7163:38;7220:12;;;12855:245;13107:416;13307:2;13321:47;;;7471:2;13292:18;;;18692:19;7507:28;18732:14;;;7487:49;7555:12;;;13278:245;13530:416;13730:2;13744:47;;;7806:2;13715:18;;;18692:19;7842:28;18732:14;;;7822:49;7890:12;;;13701:245;13953:416;14153:2;14167:47;;;8141:2;14138:18;;;18692:19;8177:26;18732:14;;;8157:47;8223:12;;;14124:245;14376:416;14576:2;14590:47;;;8474:2;14561:18;;;18692:19;-1:-1;;;18732:14;;;8490:40;8549:12;;;14547:245;14799:416;14999:2;15013:47;;;8800:2;14984:18;;;18692:19;-1:-1;;;18732:14;;;8816:41;8876:12;;;14970:245;15222:416;15422:2;15436:47;;;9127:2;15407:18;;;18692:19;-1:-1;;;18732:14;;;9143:41;9203:12;;;15393:245;15645:416;15845:2;15859:47;;;9454:2;15830:18;;;18692:19;-1:-1;;;18732:14;;;9470:42;9531:12;;;15816:245;16068:416;16268:2;16282:47;;;9782:2;16253:18;;;18692:19;-1:-1;;;18732:14;;;9798:37;9854:12;;;16239:245;16491:416;16691:2;16705:47;;;10105:2;16676:18;;;18692:19;10141:25;18732:14;;;10121:46;10186:12;;;16662:245;16914:222;5246:37;;;17041:2;17026:18;;17012:124;20041:268;20106:1;20113:101;20127:6;20124:1;20121:13;20113:101;;;20194:11;;;20188:18;20175:11;;;20168:39;20149:2;20142:10;20113:101;;;20229:6;20226:1;20223:13;20220:2;;;20106:1;20285:6;20280:3;20276:16;20269:27;20220:2;;20090:219;;;", - "source": "/**\n *Submitted for verification at Bscscan.com on 2020-09-25\n */\n\n/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ncontract MultiSigWalletWithTimelock {\n uint256 public constant MAX_OWNER_COUNT = 50;\n uint256 public lockSeconds = 86400;\n\n event Confirmation(address indexed sender, uint256 indexed transactionId);\n event Revocation(address indexed sender, uint256 indexed transactionId);\n event Submission(uint256 indexed transactionId);\n event Execution(uint256 indexed transactionId);\n event ExecutionFailure(uint256 indexed transactionId);\n event Deposit(address indexed sender, uint256 value);\n event OwnerAddition(address indexed owner);\n event OwnerRemoval(address indexed owner);\n event RequirementChange(uint256 required);\n event UnlockTimeSet(uint256 indexed transactionId, uint256 confirmationTime);\n event LockSecondsChange(uint256 lockSeconds);\n\n mapping(uint256 => Transaction) public transactions;\n mapping(uint256 => mapping(address => bool)) public confirmations;\n mapping(address => bool) public isOwner;\n mapping(uint256 => uint256) public unlockTimes;\n\n address[] public owners;\n uint256 public required;\n uint256 public transactionCount;\n\n struct Transaction {\n address destination;\n uint256 value;\n bytes data;\n bool executed;\n }\n\n struct EmergencyCall {\n bytes32 selector;\n uint256 paramsBytesCount;\n }\n\n // Functions bypass the time lock process\n EmergencyCall[] public emergencyCalls;\n\n modifier onlyWallet() {\n if (msg.sender != address(this)) revert(\"ONLY_WALLET_ERROR\");\n _;\n }\n\n modifier ownerDoesNotExist(address owner) {\n if (isOwner[owner]) revert(\"OWNER_DOES_NOT_EXIST_ERROR\");\n _;\n }\n\n modifier ownerExists(address owner) {\n if (!isOwner[owner]) revert(\"OWNER_EXISTS_ERROR\");\n _;\n }\n\n modifier transactionExists(uint256 transactionId) {\n if (transactions[transactionId].destination == address(0))\n revert(\"TRANSACTION_EXISTS_ERROR\");\n _;\n }\n\n modifier confirmed(uint256 transactionId, address owner) {\n if (!confirmations[transactionId][owner]) revert(\"CONFIRMED_ERROR\");\n _;\n }\n\n modifier notConfirmed(uint256 transactionId, address owner) {\n if (confirmations[transactionId][owner]) revert(\"NOT_CONFIRMED_ERROR\");\n _;\n }\n\n modifier notExecuted(uint256 transactionId) {\n if (transactions[transactionId].executed) revert(\"NOT_EXECUTED_ERROR\");\n _;\n }\n\n modifier notNull(address _address) {\n if (_address == address(0)) revert(\"NOT_NULL_ERROR\");\n _;\n }\n\n modifier validRequirement(uint256 ownerCount, uint256 _required) {\n if (\n ownerCount > MAX_OWNER_COUNT ||\n _required > ownerCount ||\n _required == 0 ||\n ownerCount == 0\n ) revert(\"VALID_REQUIREMENT_ERROR\");\n _;\n }\n\n /** @dev Fallback function allows to deposit ether. */\n fallback() external payable {\n if (msg.value > 0) {\n emit Deposit(msg.sender, msg.value);\n }\n }\n\n receive() external payable {\n if (msg.value > 0) {\n emit Deposit(msg.sender, msg.value);\n }\n }\n\n /** @dev Contract constructor sets initial owners and required number of confirmations.\n * @param _owners List of initial owners.\n * @param _required Number of required confirmations.\n */\n constructor(address[] memory _owners, uint256 _required)\n public\n validRequirement(_owners.length, _required)\n {\n for (uint256 i = 0; i < _owners.length; i++) {\n if (isOwner[_owners[i]] || _owners[i] == address(0)) {\n revert(\"OWNER_ERROR\");\n }\n\n isOwner[_owners[i]] = true;\n }\n\n owners = _owners;\n required = _required;\n\n // initialzie Emergency calls\n emergencyCalls.push(\n EmergencyCall({\n selector: keccak256(abi.encodePacked(\"claimOwnership()\")),\n paramsBytesCount: 0\n })\n );\n emergencyCalls.push(\n EmergencyCall({\n selector: keccak256(abi.encodePacked(\"setK(uint256)\")),\n paramsBytesCount: 64\n })\n );\n emergencyCalls.push(\n EmergencyCall({\n selector: keccak256(abi.encodePacked(\"setLiquidityProviderFeeRate(uint256)\")),\n paramsBytesCount: 64\n })\n );\n }\n\n function getEmergencyCallsCount() external view returns (uint256 count) {\n return emergencyCalls.length;\n }\n\n /** @dev Allows to add a new owner. Transaction has to be sent by wallet.\n * @param owner Address of new owner.\n */\n function addOwner(address owner)\n external\n onlyWallet\n ownerDoesNotExist(owner)\n notNull(owner)\n validRequirement(owners.length + 1, required)\n {\n isOwner[owner] = true;\n owners.push(owner);\n emit OwnerAddition(owner);\n }\n\n /** @dev Allows to remove an owner. Transaction has to be sent by wallet.\n * @param owner Address of owner.\n */\n function removeOwner(address owner) external onlyWallet ownerExists(owner) {\n isOwner[owner] = false;\n for (uint256 i = 0; i < owners.length - 1; i++) {\n if (owners[i] == owner) {\n owners[i] = owners[owners.length - 1];\n break;\n }\n }\n\n owners.pop;\n\n if (required > owners.length) {\n changeRequirement(owners.length);\n }\n\n emit OwnerRemoval(owner);\n }\n\n /** @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n * @param owner Address of owner to be replaced.\n * @param owner Address of new owner.\n */\n function replaceOwner(address owner, address newOwner)\n external\n onlyWallet\n ownerExists(owner)\n ownerDoesNotExist(newOwner)\n {\n for (uint256 i = 0; i < owners.length; i++) {\n if (owners[i] == owner) {\n owners[i] = newOwner;\n break;\n }\n }\n\n isOwner[owner] = false;\n isOwner[newOwner] = true;\n emit OwnerRemoval(owner);\n emit OwnerAddition(newOwner);\n }\n\n /** @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n * @param _required Number of required confirmations.\n */\n function changeRequirement(uint256 _required)\n public\n onlyWallet\n validRequirement(owners.length, _required)\n {\n required = _required;\n emit RequirementChange(_required);\n }\n\n /** @dev Changes the duration of the time lock for transactions.\n * @param _lockSeconds Duration needed after a transaction is confirmed and before it becomes executable, in seconds.\n */\n function changeLockSeconds(uint256 _lockSeconds) external onlyWallet {\n lockSeconds = _lockSeconds;\n emit LockSecondsChange(_lockSeconds);\n }\n\n /** @dev Allows an owner to submit and confirm a transaction.\n * @param destination Transaction target address.\n * @param value Transaction ether value.\n * @param data Transaction data payload.\n * @return transactionId Returns transaction ID.\n */\n function submitTransaction(\n address destination,\n uint256 value,\n bytes calldata data\n ) external ownerExists(msg.sender) notNull(destination) returns (uint256 transactionId) {\n transactionId = transactionCount;\n transactions[transactionId] = Transaction({\n destination: destination,\n value: value,\n data: data,\n executed: false\n });\n transactionCount += 1;\n emit Submission(transactionId);\n confirmTransaction(transactionId);\n }\n\n /** @dev Allows an owner to confirm a transaction.\n * @param transactionId Transaction ID.\n */\n function confirmTransaction(uint256 transactionId)\n public\n ownerExists(msg.sender)\n transactionExists(transactionId)\n notConfirmed(transactionId, msg.sender)\n {\n confirmations[transactionId][msg.sender] = true;\n emit Confirmation(msg.sender, transactionId);\n\n if (\n isConfirmed(transactionId) &&\n unlockTimes[transactionId] == 0 &&\n !isEmergencyCall(transactionId)\n ) {\n uint256 unlockTime = block.timestamp + lockSeconds;\n unlockTimes[transactionId] = unlockTime;\n emit UnlockTimeSet(transactionId, unlockTime);\n }\n }\n\n function isEmergencyCall(uint256 transactionId) internal view returns (bool) {\n bytes memory data = transactions[transactionId].data;\n\n for (uint256 i = 0; i < emergencyCalls.length; i++) {\n EmergencyCall memory emergencyCall = emergencyCalls[i];\n\n if (\n data.length == emergencyCall.paramsBytesCount + 4 &&\n data.length >= 4 &&\n emergencyCall.selector[0] == data[0] &&\n emergencyCall.selector[1] == data[1] &&\n emergencyCall.selector[2] == data[2] &&\n emergencyCall.selector[3] == data[3]\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n function addEmergencyCall(string memory funcName, uint256 _paramsBytesCount) public onlyWallet {\n emergencyCalls.push(\n EmergencyCall({\n selector: keccak256(abi.encodePacked(funcName)),\n paramsBytesCount: _paramsBytesCount\n })\n );\n }\n\n /** @dev Allows an owner to revoke a confirmation for a transaction.\n * @param transactionId Transaction ID.\n */\n function revokeConfirmation(uint256 transactionId)\n external\n ownerExists(msg.sender)\n confirmed(transactionId, msg.sender)\n notExecuted(transactionId)\n {\n confirmations[transactionId][msg.sender] = false;\n emit Revocation(msg.sender, transactionId);\n }\n\n /** @dev Allows anyone to execute a confirmed transaction.\n * @param transactionId Transaction ID.\n */\n function executeTransaction(uint256 transactionId)\n external\n ownerExists(msg.sender)\n notExecuted(transactionId)\n {\n require(block.timestamp >= unlockTimes[transactionId], \"TRANSACTION_NEED_TO_UNLOCK\");\n\n if (isConfirmed(transactionId)) {\n Transaction storage transaction = transactions[transactionId];\n transaction.executed = true;\n (bool success, ) = transaction.destination.call{value: transaction.value}(\n transaction.data\n );\n if (success) emit Execution(transactionId);\n else {\n emit ExecutionFailure(transactionId);\n transaction.executed = false;\n }\n }\n }\n\n /** @dev Returns the confirmation status of a transaction.\n * @param transactionId Transaction ID.\n * @return Confirmation status.\n */\n function isConfirmed(uint256 transactionId) public view returns (bool) {\n uint256 count = 0;\n\n for (uint256 i = 0; i < owners.length; i++) {\n if (confirmations[transactionId][owners[i]]) {\n count += 1;\n }\n\n if (count >= required) {\n return true;\n }\n }\n\n return false;\n }\n\n /* Web3 call functions */\n\n /** @dev Returns number of confirmations of a transaction.\n * @param transactionId Transaction ID.\n * @return count Number of confirmations.\n */\n function getConfirmationCount(uint256 transactionId) external view returns (uint256 count) {\n for (uint256 i = 0; i < owners.length; i++) {\n if (confirmations[transactionId][owners[i]]) {\n count += 1;\n }\n }\n }\n\n /** @dev Returns total number of transactions after filers are applied.\n * @param pending Include pending transactions.\n * @param executed Include executed transactions.\n * @return count Total number of transactions after filters are applied.\n */\n function getTransactionCount(bool pending, bool executed)\n external\n view\n returns (uint256 count)\n {\n for (uint256 i = 0; i < transactionCount; i++) {\n if ((pending && !transactions[i].executed) || (executed && transactions[i].executed)) {\n count += 1;\n }\n }\n }\n\n /** @dev Returns list of owners.\n * @return List of owner addresses.\n */\n function getOwners() external view returns (address[] memory) {\n return owners;\n }\n\n /** @dev Returns array with owner addresses, which confirmed transaction.\n * @param transactionId Transaction ID.\n * @return _confirmations Returns array of owner addresses.\n */\n function getConfirmations(uint256 transactionId)\n external\n view\n returns (address[] memory _confirmations)\n {\n address[] memory confirmationsTemp = new address[](owners.length);\n uint256 count = 0;\n uint256 i;\n\n for (i = 0; i < owners.length; i++) {\n if (confirmations[transactionId][owners[i]]) {\n confirmationsTemp[count] = owners[i];\n count += 1;\n }\n }\n\n _confirmations = new address[](count);\n\n for (i = 0; i < count; i++) {\n _confirmations[i] = confirmationsTemp[i];\n }\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MultiSig.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MultiSig.sol", - "exportedSymbols": { - "MultiSigWalletWithTimelock": [ - 3385 - ] - }, - "id": 3386, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2199, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "145:22:16" - }, - { - "id": 2200, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "168:33:16" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3385, - "linearizedBaseContracts": [ - 3385 - ], - "name": "MultiSigWalletWithTimelock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "functionSelector": "d74f8edd", - "id": 2203, - "mutability": "constant", - "name": "MAX_OWNER_COUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "246:44:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "246:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3530", - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "bfa6fddb", - "id": 2206, - "mutability": "mutable", - "name": "lockSeconds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "296:34:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2204, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "296:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3836343030", - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "325:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "86400" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2212, - "name": "Confirmation", - "nodeType": "EventDefinition", - "parameters": { - "id": 2211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2208, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "356:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "356:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2210, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "380:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2209, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "380:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "355:55:16" - }, - "src": "337:74:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2218, - "name": "Revocation", - "nodeType": "EventDefinition", - "parameters": { - "id": 2217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2214, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2218, - "src": "433:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "433:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2216, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2218, - "src": "457:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "457:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "432:55:16" - }, - "src": "416:72:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2222, - "name": "Submission", - "nodeType": "EventDefinition", - "parameters": { - "id": 2221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2220, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2222, - "src": "510:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2219, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "510:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "509:31:16" - }, - "src": "493:48:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2226, - "name": "Execution", - "nodeType": "EventDefinition", - "parameters": { - "id": 2225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2224, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2226, - "src": "562:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "562:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "561:31:16" - }, - "src": "546:47:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2230, - "name": "ExecutionFailure", - "nodeType": "EventDefinition", - "parameters": { - "id": 2229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2228, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2230, - "src": "621:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "621:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "620:31:16" - }, - "src": "598:54:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2236, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 2235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2232, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2236, - "src": "671:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "671:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2234, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2236, - "src": "695:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "670:39:16" - }, - "src": "657:53:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2240, - "name": "OwnerAddition", - "nodeType": "EventDefinition", - "parameters": { - "id": 2239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2238, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2240, - "src": "735:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "735:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "734:23:16" - }, - "src": "715:43:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2244, - "name": "OwnerRemoval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2242, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2244, - "src": "782:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "782:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "781:23:16" - }, - "src": "763:42:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2248, - "name": "RequirementChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2246, - "indexed": false, - "mutability": "mutable", - "name": "required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2248, - "src": "834:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "834:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "833:18:16" - }, - "src": "810:42:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2254, - "name": "UnlockTimeSet", - "nodeType": "EventDefinition", - "parameters": { - "id": 2253, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2250, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2254, - "src": "877:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "877:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2252, - "indexed": false, - "mutability": "mutable", - "name": "confirmationTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2254, - "src": "908:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "908:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "876:57:16" - }, - "src": "857:77:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2258, - "name": "LockSecondsChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2256, - "indexed": false, - "mutability": "mutable", - "name": "lockSeconds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2258, - "src": "963:19:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "962:21:16" - }, - "src": "939:45:16" - }, - { - "constant": false, - "functionSelector": "9ace38c2", - "id": 2262, - "mutability": "mutable", - "name": "transactions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "990:51:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction)" - }, - "typeName": { - "id": 2261, - "keyType": { - "id": 2259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "998:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "990:31:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction)" - }, - "valueType": { - "contractScope": null, - "id": 2260, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2292, - "src": "1009:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3411c81c", - "id": 2268, - "mutability": "mutable", - "name": "confirmations", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1047:65:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - }, - "typeName": { - "id": 2267, - "keyType": { - "id": 2263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1055:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1047:44:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - }, - "valueType": { - "id": 2266, - "keyType": { - "id": 2264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1074:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1066:24:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2265, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1085:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f54bf6e", - "id": 2272, - "mutability": "mutable", - "name": "isOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1118:39:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 2271, - "keyType": { - "id": 2269, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1126:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1118:24:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1137:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "76ac947a", - "id": 2276, - "mutability": "mutable", - "name": "unlockTimes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1163:46:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 2275, - "keyType": { - "id": 2273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1171:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1163:27:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 2274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1182:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "025e7c27", - "id": 2279, - "mutability": "mutable", - "name": "owners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1216:23:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1216:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2278, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1216:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dc8452cd", - "id": 2281, - "mutability": "mutable", - "name": "required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1245:23:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1245:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b77bf600", - "id": 2283, - "mutability": "mutable", - "name": "transactionCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1274:31:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "MultiSigWalletWithTimelock.Transaction", - "id": 2292, - "members": [ - { - "constant": false, - "id": 2285, - "mutability": "mutable", - "name": "destination", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1341:19:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1341:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2287, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1370:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1370:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2289, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1393:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2288, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1393:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2291, - "mutability": "mutable", - "name": "executed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1413:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2290, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1413:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Transaction", - "nodeType": "StructDefinition", - "scope": 3385, - "src": "1312:121:16", - "visibility": "public" - }, - { - "canonicalName": "MultiSigWalletWithTimelock.EmergencyCall", - "id": 2297, - "members": [ - { - "constant": false, - "id": 2294, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2297, - "src": "1470:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2293, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1470:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2296, - "mutability": "mutable", - "name": "paramsBytesCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2297, - "src": "1496:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1496:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "EmergencyCall", - "nodeType": "StructDefinition", - "scope": 3385, - "src": "1439:88:16", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "86384afc", - "id": 2300, - "mutability": "mutable", - "name": "emergencyCalls", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1579:37:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 2298, - "name": "EmergencyCall", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2297, - "src": "1579:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall" - } - }, - "id": 2299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1579:15:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2315, - "nodeType": "Block", - "src": "1645:88:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 2308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1659:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1659:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2306, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1681:4:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MultiSigWalletWithTimelock_$3385", - "typeString": "contract MultiSigWalletWithTimelock" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MultiSigWalletWithTimelock_$3385", - "typeString": "contract MultiSigWalletWithTimelock" - } - ], - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1673:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1673:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1673:13:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1659:27:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2313, - "nodeType": "IfStatement", - "src": "1655:60:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f4e4c595f57414c4c45545f4552524f52", - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1695:19:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_154c05d05b8b4fc5182b27cf8fc7d4edd12f98319c5a78b89a786d51471e8730", - "typeString": "literal_string \"ONLY_WALLET_ERROR\"" - }, - "value": "ONLY_WALLET_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_154c05d05b8b4fc5182b27cf8fc7d4edd12f98319c5a78b89a786d51471e8730", - "typeString": "literal_string \"ONLY_WALLET_ERROR\"" - } - ], - "id": 2309, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1688:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2312, - "nodeType": "ExpressionStatement", - "src": "1688:27:16" - } - }, - { - "id": 2314, - "nodeType": "PlaceholderStatement", - "src": "1725:1:16" - } - ] - }, - "documentation": null, - "id": 2316, - "name": "onlyWallet", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1642:2:16" - }, - "src": "1623:110:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2329, - "nodeType": "Block", - "src": "1781:84:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2320, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "1795:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2322, - "indexExpression": { - "argumentTypes": null, - "id": 2321, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1803:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1795:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2327, - "nodeType": "IfStatement", - "src": "1791:56:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f574e45525f444f45535f4e4f545f45584953545f4552524f52", - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1818:28:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0de49efc4c535b8cd13aa9de166b4db6f53a1ded9c131ce141ae0ef26adc35fb", - "typeString": "literal_string \"OWNER_DOES_NOT_EXIST_ERROR\"" - }, - "value": "OWNER_DOES_NOT_EXIST_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_0de49efc4c535b8cd13aa9de166b4db6f53a1ded9c131ce141ae0ef26adc35fb", - "typeString": "literal_string \"OWNER_DOES_NOT_EXIST_ERROR\"" - } - ], - "id": 2323, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1811:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1811:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2326, - "nodeType": "ExpressionStatement", - "src": "1811:36:16" - } - }, - { - "id": 2328, - "nodeType": "PlaceholderStatement", - "src": "1857:1:16" - } - ] - }, - "documentation": null, - "id": 2330, - "name": "ownerDoesNotExist", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2318, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2330, - "src": "1766:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2317, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1766:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1765:15:16" - }, - "src": "1739:126:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2344, - "nodeType": "Block", - "src": "1907:77:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1921:15:16", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2334, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "1922:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2336, - "indexExpression": { - "argumentTypes": null, - "id": 2335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "1930:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1922:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2342, - "nodeType": "IfStatement", - "src": "1917:49:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f574e45525f4558495354535f4552524f52", - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1945:20:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5679e051834b8488b2a064e5d691d44ba5a73e92259d98f57c96ad80baf3fdf", - "typeString": "literal_string \"OWNER_EXISTS_ERROR\"" - }, - "value": "OWNER_EXISTS_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a5679e051834b8488b2a064e5d691d44ba5a73e92259d98f57c96ad80baf3fdf", - "typeString": "literal_string \"OWNER_EXISTS_ERROR\"" - } - ], - "id": 2338, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1938:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1938:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2341, - "nodeType": "ExpressionStatement", - "src": "1938:28:16" - } - }, - { - "id": 2343, - "nodeType": "PlaceholderStatement", - "src": "1976:1:16" - } - ] - }, - "documentation": null, - "id": 2345, - "name": "ownerExists", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2332, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2345, - "src": "1892:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1892:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1891:15:16" - }, - "src": "1871:113:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2364, - "nodeType": "Block", - "src": "2040:133:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2349, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "2054:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2351, - "indexExpression": { - "argumentTypes": null, - "id": 2350, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "2067:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2054:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "destination", - "nodeType": "MemberAccess", - "referencedDeclaration": 2285, - "src": "2054:39:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2105:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2097:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2353, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2097:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2097:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2054:53:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2362, - "nodeType": "IfStatement", - "src": "2050:105:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5452414e53414354494f4e5f4558495354535f4552524f52", - "id": 2359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:26:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0fa90d37b3d14dd2ae235c1fa2187af5b08c507d31134f0aa67ff6323c434990", - "typeString": "literal_string \"TRANSACTION_EXISTS_ERROR\"" - }, - "value": "TRANSACTION_EXISTS_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_0fa90d37b3d14dd2ae235c1fa2187af5b08c507d31134f0aa67ff6323c434990", - "typeString": "literal_string \"TRANSACTION_EXISTS_ERROR\"" - } - ], - "id": 2358, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2121:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2121:34:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2361, - "nodeType": "ExpressionStatement", - "src": "2121:34:16" - } - }, - { - "id": 2363, - "nodeType": "PlaceholderStatement", - "src": "2165:1:16" - } - ] - }, - "documentation": null, - "id": 2365, - "name": "transactionExists", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2347, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2365, - "src": "2017:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2017:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2016:23:16" - }, - "src": "1990:183:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2383, - "nodeType": "Block", - "src": "2236:95:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2250:36:16", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2371, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2251:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 2373, - "indexExpression": { - "argumentTypes": null, - "id": 2372, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2367, - "src": "2265:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2251:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2375, - "indexExpression": { - "argumentTypes": null, - "id": 2374, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "2280:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2251:35:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2381, - "nodeType": "IfStatement", - "src": "2246:67:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "434f4e4649524d45445f4552524f52", - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2295:17:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07011048ab4b644cae74fcaa058ba0ec4eb97750e69f4cfa039855b5807ab8eb", - "typeString": "literal_string \"CONFIRMED_ERROR\"" - }, - "value": "CONFIRMED_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_07011048ab4b644cae74fcaa058ba0ec4eb97750e69f4cfa039855b5807ab8eb", - "typeString": "literal_string \"CONFIRMED_ERROR\"" - } - ], - "id": 2377, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2288:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2288:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2380, - "nodeType": "ExpressionStatement", - "src": "2288:25:16" - } - }, - { - "id": 2382, - "nodeType": "PlaceholderStatement", - "src": "2323:1:16" - } - ] - }, - "documentation": null, - "id": 2384, - "name": "confirmed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2367, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2384, - "src": "2198:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2198:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2369, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2384, - "src": "2221:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2221:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2197:38:16" - }, - "src": "2179:152:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2401, - "nodeType": "Block", - "src": "2397:98:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2390, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2411:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 2392, - "indexExpression": { - "argumentTypes": null, - "id": 2391, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2386, - "src": "2425:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2411:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2394, - "indexExpression": { - "argumentTypes": null, - "id": 2393, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "2440:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2411:35:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2399, - "nodeType": "IfStatement", - "src": "2407:70:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4e4f545f434f4e4649524d45445f4552524f52", - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2455:21:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b93c270f73799c5026e6575ecff3675a730a2cac46b17cbb393881d7e18763e2", - "typeString": "literal_string \"NOT_CONFIRMED_ERROR\"" - }, - "value": "NOT_CONFIRMED_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b93c270f73799c5026e6575ecff3675a730a2cac46b17cbb393881d7e18763e2", - "typeString": "literal_string \"NOT_CONFIRMED_ERROR\"" - } - ], - "id": 2395, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2448:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2448:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2398, - "nodeType": "ExpressionStatement", - "src": "2448:29:16" - } - }, - { - "id": 2400, - "nodeType": "PlaceholderStatement", - "src": "2487:1:16" - } - ] - }, - "documentation": null, - "id": 2402, - "name": "notConfirmed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2386, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2402, - "src": "2359:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2385, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2359:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2388, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2402, - "src": "2382:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2382:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2358:38:16" - }, - "src": "2337:158:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2416, - "nodeType": "Block", - "src": "2545:98:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2406, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "2559:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2408, - "indexExpression": { - "argumentTypes": null, - "id": 2407, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2404, - "src": "2572:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2559:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "2559:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2414, - "nodeType": "IfStatement", - "src": "2555:70:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4e4f545f45584543555445445f4552524f52", - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2604:20:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_543cb05dbc23c4af907ca5a03a85c3d24cca2a1ba4a868fc8943b3b8ea69747d", - "typeString": "literal_string \"NOT_EXECUTED_ERROR\"" - }, - "value": "NOT_EXECUTED_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_543cb05dbc23c4af907ca5a03a85c3d24cca2a1ba4a868fc8943b3b8ea69747d", - "typeString": "literal_string \"NOT_EXECUTED_ERROR\"" - } - ], - "id": 2410, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2597:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2597:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2413, - "nodeType": "ExpressionStatement", - "src": "2597:28:16" - } - }, - { - "id": 2415, - "nodeType": "PlaceholderStatement", - "src": "2635:1:16" - } - ] - }, - "documentation": null, - "id": 2417, - "name": "notExecuted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2404, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2417, - "src": "2522:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2522:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2521:23:16" - }, - "src": "2501:142:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2433, - "nodeType": "Block", - "src": "2684:80:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2421, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2419, - "src": "2698:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2718:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2710:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2710:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2698:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2431, - "nodeType": "IfStatement", - "src": "2694:52:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4e4f545f4e554c4c5f4552524f52", - "id": 2428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2729:16:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ce3a403561f7436d6efa7d01af7869570afca7da394caf15c8ed863039e7b421", - "typeString": "literal_string \"NOT_NULL_ERROR\"" - }, - "value": "NOT_NULL_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ce3a403561f7436d6efa7d01af7869570afca7da394caf15c8ed863039e7b421", - "typeString": "literal_string \"NOT_NULL_ERROR\"" - } - ], - "id": 2427, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2722:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:24:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2430, - "nodeType": "ExpressionStatement", - "src": "2722:24:16" - } - }, - { - "id": 2432, - "nodeType": "PlaceholderStatement", - "src": "2756:1:16" - } - ] - }, - "documentation": null, - "id": 2434, - "name": "notNull", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2419, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2434, - "src": "2666:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2666:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2665:18:16" - }, - "src": "2649:115:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2461, - "nodeType": "Block", - "src": "2835:216:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2440, - "name": "ownerCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "2862:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2441, - "name": "MAX_OWNER_COUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2203, - "src": "2875:15:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2862:28:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2443, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "2906:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2444, - "name": "ownerCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "2918:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2906:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:66:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2447, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "2944:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2944:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:96:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2451, - "name": "ownerCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "2974:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2988:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2974:15:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:127:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2459, - "nodeType": "IfStatement", - "src": "2845:188:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "56414c49445f524551554952454d454e545f4552524f52", - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3007:25:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7c52332ec5db78e995be376b3733f9df721050c4817a36758c44295f63a1644", - "typeString": "literal_string \"VALID_REQUIREMENT_ERROR\"" - }, - "value": "VALID_REQUIREMENT_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f7c52332ec5db78e995be376b3733f9df721050c4817a36758c44295f63a1644", - "typeString": "literal_string \"VALID_REQUIREMENT_ERROR\"" - } - ], - "id": 2455, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "3000:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3000:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2458, - "nodeType": "ExpressionStatement", - "src": "3000:33:16" - } - }, - { - "id": 2460, - "nodeType": "PlaceholderStatement", - "src": "3043:1:16" - } - ] - }, - "documentation": null, - "id": 2462, - "name": "validRequirement", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2436, - "mutability": "mutable", - "name": "ownerCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2462, - "src": "2796:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2796:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2438, - "mutability": "mutable", - "name": "_required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2462, - "src": "2816:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2816:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2795:39:16" - }, - "src": "2770:281:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2479, - "nodeType": "Block", - "src": "3144:95:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3158:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3158:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3170:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3158:13:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2478, - "nodeType": "IfStatement", - "src": "3154:79:16", - "trueBody": { - "id": 2477, - "nodeType": "Block", - "src": "3173:60:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3200:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3200:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2473, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3212:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3212:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2470, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2236, - "src": "3192:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3192:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2476, - "nodeType": "EmitStatement", - "src": "3187:35:16" - } - ] - } - } - ] - }, - "documentation": { - "id": 2463, - "nodeType": "StructuredDocumentation", - "src": "3057:54:16", - "text": "@dev Fallback function allows to deposit ether. " - }, - "id": 2480, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2464, - "nodeType": "ParameterList", - "parameters": [], - "src": "3124:2:16" - }, - "returnParameters": { - "id": 2465, - "nodeType": "ParameterList", - "parameters": [], - "src": "3144:0:16" - }, - "scope": 3385, - "src": "3116:123:16", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2496, - "nodeType": "Block", - "src": "3272:95:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2483, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3286:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3286:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3298:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3286:13:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2495, - "nodeType": "IfStatement", - "src": "3282:79:16", - "trueBody": { - "id": 2494, - "nodeType": "Block", - "src": "3301:60:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2488, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3328:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3328:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2490, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3340:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2487, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2236, - "src": "3320:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3320:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2493, - "nodeType": "EmitStatement", - "src": "3315:35:16" - } - ] - } - } - ] - }, - "documentation": null, - "id": 2497, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2481, - "nodeType": "ParameterList", - "parameters": [], - "src": "3252:2:16" - }, - "returnParameters": { - "id": 2482, - "nodeType": "ParameterList", - "parameters": [], - "src": "3272:0:16" - }, - "scope": 3385, - "src": "3245:122:16", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2602, - "nodeType": "Block", - "src": "3705:930:16", - "statements": [ - { - "body": { - "id": 2550, - "nodeType": "Block", - "src": "3760:172:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2522, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "3778:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2526, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2523, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3786:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2525, - "indexExpression": { - "argumentTypes": null, - "id": 2524, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3794:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3786:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3778:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2527, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3801:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2529, - "indexExpression": { - "argumentTypes": null, - "id": 2528, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3809:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3801:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3823:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3815:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3815:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3815:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3801:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3778:47:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2541, - "nodeType": "IfStatement", - "src": "3774:107:16", - "trueBody": { - "id": 2540, - "nodeType": "Block", - "src": "3827:54:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f574e45525f4552524f52", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3852:13:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50f5ffffd46b93fc4216a2fd08d8a742f987ab7f4a48d802983a9d879430368b", - "typeString": "literal_string \"OWNER_ERROR\"" - }, - "value": "OWNER_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_50f5ffffd46b93fc4216a2fd08d8a742f987ab7f4a48d802983a9d879430368b", - "typeString": "literal_string \"OWNER_ERROR\"" - } - ], - "id": 2536, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "3845:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3845:21:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2539, - "nodeType": "ExpressionStatement", - "src": "3845:21:16" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2542, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "3895:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2546, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2543, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3903:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2545, - "indexExpression": { - "argumentTypes": null, - "id": 2544, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3911:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3903:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3895:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3917:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3895:26:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2549, - "nodeType": "ExpressionStatement", - "src": "3895:26:16" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2515, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3735:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2516, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3739:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3739:14:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3735:18:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2551, - "initializationExpression": { - "assignments": [ - 2512 - ], - "declarations": [ - { - "constant": false, - "id": 2512, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2551, - "src": "3720:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3720:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2514, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3732:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3720:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3755:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2519, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3755:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "3755:3:16" - }, - "nodeType": "ForStatement", - "src": "3715:217:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2552, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "3942:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2553, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3951:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "3942:16:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2555, - "nodeType": "ExpressionStatement", - "src": "3942:16:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2556, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "3968:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2557, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2503, - "src": "3979:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3968:20:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2559, - "nodeType": "ExpressionStatement", - "src": "3968:20:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "636c61696d4f776e6572736869702829", - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4139:18:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4e71e0c8676e3746167a1acf5f45b9c4f9bfd01db4faa49dd539202eb4a76b23", - "typeString": "literal_string \"claimOwnership()\"" - }, - "value": "claimOwnership()" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_4e71e0c8676e3746167a1acf5f45b9c4f9bfd01db4faa49dd539202eb4a76b23", - "typeString": "literal_string \"claimOwnership()\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 2565, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4122:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4122:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4122:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2564, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4112:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4112:47:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4195:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2563, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4070:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "4070:141:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 2560, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4037:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4037:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4037:184:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2573, - "nodeType": "ExpressionStatement", - "src": "4037:184:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7365744b2875696e7432353629", - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4333:15:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_67de8be994f5e612024f208d2fe429438ed98f752dca627d14a952634dbd4ba7", - "typeString": "literal_string \"setK(uint256)\"" - }, - "value": "setK(uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_67de8be994f5e612024f208d2fe429438ed98f752dca627d14a952634dbd4ba7", - "typeString": "literal_string \"setK(uint256)\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 2579, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4316:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4316:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4316:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2578, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4306:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4306:44:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "3634", - "id": 2584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4386:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - ], - "id": 2577, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4264:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "4264:139:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 2574, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4231:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4231:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4231:182:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2587, - "nodeType": "ExpressionStatement", - "src": "4231:182:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7365744c697175696469747950726f7669646572466565526174652875696e7432353629", - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4525:38:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5bb7552a97062da753264cd0b6de4cb510c3e7bc8360141372bd76876d44f10e", - "typeString": "literal_string \"setLiquidityProviderFeeRate(uint256)\"" - }, - "value": "setLiquidityProviderFeeRate(uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5bb7552a97062da753264cd0b6de4cb510c3e7bc8360141372bd76876d44f10e", - "typeString": "literal_string \"setLiquidityProviderFeeRate(uint256)\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 2593, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4508:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4508:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4508:56:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2592, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4498:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4498:67:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "3634", - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4601:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - ], - "id": 2591, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4456:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "4456:162:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 2588, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4423:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4423:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 2600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4423:205:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2601, - "nodeType": "ExpressionStatement", - "src": "4423:205:16" - } - ] - }, - "documentation": { - "id": 2498, - "nodeType": "StructuredDocumentation", - "src": "3373:199:16", - "text": "@dev Contract constructor sets initial owners and required number of confirmations.\n @param _owners List of initial owners.\n @param _required Number of required confirmations." - }, - "id": 2603, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2506, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3674:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3674:14:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2508, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2503, - "src": "3690:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2509, - "modifierName": { - "argumentTypes": null, - "id": 2505, - "name": "validRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "3657:16:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", - "typeString": "modifier (uint256,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3657:43:16" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2501, - "mutability": "mutable", - "name": "_owners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2603, - "src": "3589:24:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3589:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2500, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3589:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2503, - "mutability": "mutable", - "name": "_required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2603, - "src": "3615:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3615:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3588:45:16" - }, - "returnParameters": { - "id": 2510, - "nodeType": "ParameterList", - "parameters": [], - "src": "3705:0:16" - }, - "scope": 3385, - "src": "3577:1058:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2611, - "nodeType": "Block", - "src": "4713:45:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2608, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4730:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4730:21:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2607, - "id": 2610, - "nodeType": "Return", - "src": "4723:28:16" - } - ] - }, - "documentation": null, - "functionSelector": "c0af0227", - "id": 2612, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEmergencyCallsCount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2604, - "nodeType": "ParameterList", - "parameters": [], - "src": "4672:2:16" - }, - "returnParameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2606, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2612, - "src": "4698:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4698:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4697:15:16" - }, - "scope": 3385, - "src": "4641:117:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2649, - "nodeType": "Block", - "src": "5075:101:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2633, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "5085:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2635, - "indexExpression": { - "argumentTypes": null, - "id": 2634, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5093:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5085:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5102:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5085:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2638, - "nodeType": "ExpressionStatement", - "src": "5085:21:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2642, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5128:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2639, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5116:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5116:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5116:18:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2644, - "nodeType": "ExpressionStatement", - "src": "5116:18:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2646, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5163:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2645, - "name": "OwnerAddition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "5149:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5149:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2648, - "nodeType": "EmitStatement", - "src": "5144:25:16" - } - ] - }, - "documentation": { - "id": 2613, - "nodeType": "StructuredDocumentation", - "src": "4764:123:16", - "text": "@dev Allows to add a new owner. Transaction has to be sent by wallet.\n @param owner Address of new owner." - }, - "functionSelector": "7065cb48", - "id": 2650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2618, - "modifierName": { - "argumentTypes": null, - "id": 2617, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "4950:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4950:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2620, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "4987:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2621, - "modifierName": { - "argumentTypes": null, - "id": 2619, - "name": "ownerDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "4969:17:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4969:24:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2623, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5010:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2624, - "modifierName": { - "argumentTypes": null, - "id": 2622, - "name": "notNull", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "5002:7:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5002:14:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2626, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5042:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5042:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5058:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5042:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2630, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "5061:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2631, - "modifierName": { - "argumentTypes": null, - "id": 2625, - "name": "validRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "5025:16:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", - "typeString": "modifier (uint256,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5025:45:16" - } - ], - "name": "addOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2615, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2650, - "src": "4910:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2614, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4910:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4909:15:16" - }, - "returnParameters": { - "id": 2632, - "nodeType": "ParameterList", - "parameters": [], - "src": "5075:0:16" - }, - "scope": 3385, - "src": "4892:284:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2720, - "nodeType": "Block", - "src": "5381:390:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2661, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "5391:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2663, - "indexExpression": { - "argumentTypes": null, - "id": 2662, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5399:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5391:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5408:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "5391:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2666, - "nodeType": "ExpressionStatement", - "src": "5391:22:16" - }, - { - "body": { - "id": 2699, - "nodeType": "Block", - "src": "5471:141:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2680, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5489:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2682, - "indexExpression": { - "argumentTypes": null, - "id": 2681, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5496:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5489:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2683, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5502:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5489:18:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2698, - "nodeType": "IfStatement", - "src": "5485:117:16", - "trueBody": { - "id": 2697, - "nodeType": "Block", - "src": "5509:93:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2685, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5527:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2687, - "indexExpression": { - "argumentTypes": null, - "id": 2686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5534:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5527:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2688, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5539:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2693, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2689, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5546:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5546:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5562:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5546:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5539:25:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5527:37:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2695, - "nodeType": "ExpressionStatement", - "src": "5527:37:16" - }, - { - "id": 2696, - "nodeType": "Break", - "src": "5582:5:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2671, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5443:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2672, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5447:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5447:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5463:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5447:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5443:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2700, - "initializationExpression": { - "assignments": [ - 2668 - ], - "declarations": [ - { - "constant": false, - "id": 2668, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2700, - "src": "5428:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5428:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2670, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5440:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5428:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5466:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2677, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5466:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2679, - "nodeType": "ExpressionStatement", - "src": "5466:3:16" - }, - "nodeType": "ForStatement", - "src": "5423:189:16" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2701, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5622:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5622:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 2704, - "nodeType": "ExpressionStatement", - "src": "5622:10:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2705, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "5647:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2706, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5658:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5658:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5647:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2715, - "nodeType": "IfStatement", - "src": "5643:87:16", - "trueBody": { - "id": 2714, - "nodeType": "Block", - "src": "5673:57:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2710, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5705:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5705:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2709, - "name": "changeRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "5687:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5687:32:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2713, - "nodeType": "ExpressionStatement", - "src": "5687:32:16" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2717, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5758:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2716, - "name": "OwnerRemoval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2244, - "src": "5745:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5745:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2719, - "nodeType": "EmitStatement", - "src": "5740:24:16" - } - ] - }, - "documentation": { - "id": 2651, - "nodeType": "StructuredDocumentation", - "src": "5182:119:16", - "text": "@dev Allows to remove an owner. Transaction has to be sent by wallet.\n @param owner Address of owner." - }, - "functionSelector": "173825d9", - "id": 2721, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2656, - "modifierName": { - "argumentTypes": null, - "id": 2655, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "5351:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5351:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2658, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5374:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2659, - "modifierName": { - "argumentTypes": null, - "id": 2657, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "5362:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5362:18:16" - } - ], - "name": "removeOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2721, - "src": "5327:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5327:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5326:15:16" - }, - "returnParameters": { - "id": 2660, - "nodeType": "ParameterList", - "parameters": [], - "src": "5381:0:16" - }, - "scope": 3385, - "src": "5306:465:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2784, - "nodeType": "Block", - "src": "6134:323:16", - "statements": [ - { - "body": { - "id": 2762, - "nodeType": "Block", - "src": "6188:124:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2748, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6206:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2750, - "indexExpression": { - "argumentTypes": null, - "id": 2749, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6213:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6206:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2751, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6219:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6206:18:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2761, - "nodeType": "IfStatement", - "src": "6202:100:16", - "trueBody": { - "id": 2760, - "nodeType": "Block", - "src": "6226:76:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2753, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6244:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2755, - "indexExpression": { - "argumentTypes": null, - "id": 2754, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6251:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6244:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2756, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6256:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6244:20:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2758, - "nodeType": "ExpressionStatement", - "src": "6244:20:16" - }, - { - "id": 2759, - "nodeType": "Break", - "src": "6282:5:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2741, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6164:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2742, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6168:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6168:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6164:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2763, - "initializationExpression": { - "assignments": [ - 2738 - ], - "declarations": [ - { - "constant": false, - "id": 2738, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2763, - "src": "6149:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6149:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2740, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6161:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6149:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6183:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2745, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6183:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2747, - "nodeType": "ExpressionStatement", - "src": "6183:3:16" - }, - "nodeType": "ForStatement", - "src": "6144:168:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2764, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "6322:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2766, - "indexExpression": { - "argumentTypes": null, - "id": 2765, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6330:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6322:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6339:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6322:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2769, - "nodeType": "ExpressionStatement", - "src": "6322:22:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2770, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "6354:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2772, - "indexExpression": { - "argumentTypes": null, - "id": 2771, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6362:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6354:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6374:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6354:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2775, - "nodeType": "ExpressionStatement", - "src": "6354:24:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2777, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6406:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2776, - "name": "OwnerRemoval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2244, - "src": "6393:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6393:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2779, - "nodeType": "EmitStatement", - "src": "6388:24:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2781, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6441:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2780, - "name": "OwnerAddition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "6427:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6427:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2783, - "nodeType": "EmitStatement", - "src": "6422:28:16" - } - ] - }, - "documentation": { - "id": 2722, - "nodeType": "StructuredDocumentation", - "src": "5777:194:16", - "text": "@dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n @param owner Address of owner to be replaced.\n @param owner Address of new owner." - }, - "functionSelector": "e20056e6", - "id": 2785, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2729, - "modifierName": { - "argumentTypes": null, - "id": 2728, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "6056:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6056:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2731, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6087:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2732, - "modifierName": { - "argumentTypes": null, - "id": 2730, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "6075:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6075:18:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2734, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6120:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2735, - "modifierName": { - "argumentTypes": null, - "id": 2733, - "name": "ownerDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "6102:17:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6102:27:16" - } - ], - "name": "replaceOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2724, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2785, - "src": "5998:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5998:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2726, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2785, - "src": "6013:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6013:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5997:33:16" - }, - "returnParameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [], - "src": "6134:0:16" - }, - "scope": 3385, - "src": "5976:481:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2806, - "nodeType": "Block", - "src": "6770:80:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2798, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "6780:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2799, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "6791:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6780:20:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2801, - "nodeType": "ExpressionStatement", - "src": "6780:20:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2803, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "6833:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2802, - "name": "RequirementChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2248, - "src": "6815:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6815:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2805, - "nodeType": "EmitStatement", - "src": "6810:33:16" - } - ] - }, - "documentation": { - "id": 2786, - "nodeType": "StructuredDocumentation", - "src": "6463:167:16", - "text": "@dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n @param _required Number of required confirmations." - }, - "functionSelector": "ba51a6df", - "id": 2807, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2791, - "modifierName": { - "argumentTypes": null, - "id": 2790, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "6704:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6704:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2793, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6740:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6740:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2795, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "6755:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2796, - "modifierName": { - "argumentTypes": null, - "id": 2792, - "name": "validRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "6723:16:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", - "typeString": "modifier (uint256,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6723:42:16" - } - ], - "name": "changeRequirement", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2788, - "mutability": "mutable", - "name": "_required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2807, - "src": "6662:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6662:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6661:19:16" - }, - "returnParameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [], - "src": "6770:0:16" - }, - "scope": 3385, - "src": "6635:215:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2823, - "nodeType": "Block", - "src": "7124:89:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2815, - "name": "lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2206, - "src": "7134:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2816, - "name": "_lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2810, - "src": "7148:12:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7134:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2818, - "nodeType": "ExpressionStatement", - "src": "7134:26:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2820, - "name": "_lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2810, - "src": "7193:12:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2819, - "name": "LockSecondsChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2258, - "src": "7175:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7175:31:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2822, - "nodeType": "EmitStatement", - "src": "7170:36:16" - } - ] - }, - "documentation": { - "id": 2808, - "nodeType": "StructuredDocumentation", - "src": "6856:194:16", - "text": "@dev Changes the duration of the time lock for transactions.\n @param _lockSeconds Duration needed after a transaction is confirmed and before it becomes executable, in seconds." - }, - "functionSelector": "8c22d5d3", - "id": 2824, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2813, - "modifierName": { - "argumentTypes": null, - "id": 2812, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "7113:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7113:10:16" - } - ], - "name": "changeLockSeconds", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2810, - "mutability": "mutable", - "name": "_lockSeconds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2824, - "src": "7082:20:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7082:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7081:22:16" - }, - "returnParameters": { - "id": 2814, - "nodeType": "ParameterList", - "parameters": [], - "src": "7124:0:16" - }, - "scope": 3385, - "src": "7055:158:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2870, - "nodeType": "Block", - "src": "7690:343:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2843, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "7700:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2844, - "name": "transactionCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2283, - "src": "7716:16:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7700:32:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2846, - "nodeType": "ExpressionStatement", - "src": "7700:32:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2847, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "7742:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2849, - "indexExpression": { - "argumentTypes": null, - "id": 2848, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "7755:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7742:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2851, - "name": "destination", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2827, - "src": "7811:11:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2852, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "7843:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2853, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2831, - "src": "7868:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7896:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2850, - "name": "Transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2292, - "src": "7772:11:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Transaction_$2292_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.Transaction storage pointer)" - } - }, - "id": 2855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "destination", - "value", - "data", - "executed" - ], - "nodeType": "FunctionCall", - "src": "7772:140:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction memory" - } - }, - "src": "7742:170:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2857, - "nodeType": "ExpressionStatement", - "src": "7742:170:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2858, - "name": "transactionCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2283, - "src": "7922:16:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7942:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7922:21:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2861, - "nodeType": "ExpressionStatement", - "src": "7922:21:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2863, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "7969:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2862, - "name": "Submission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2222, - "src": "7958:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7958:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2865, - "nodeType": "EmitStatement", - "src": "7953:30:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2867, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "8012:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2866, - "name": "confirmTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2939, - "src": "7993:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7993:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2869, - "nodeType": "ExpressionStatement", - "src": "7993:33:16" - } - ] - }, - "documentation": { - "id": 2825, - "nodeType": "StructuredDocumentation", - "src": "7219:266:16", - "text": "@dev Allows an owner to submit and confirm a transaction.\n @param destination Transaction target address.\n @param value Transaction ether value.\n @param data Transaction data payload.\n @return transactionId Returns transaction ID." - }, - "functionSelector": "c6427474", - "id": 2871, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2834, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7625:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7625:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2836, - "modifierName": { - "argumentTypes": null, - "id": 2833, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "7613:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7613:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2838, - "name": "destination", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2827, - "src": "7645:11:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2839, - "modifierName": { - "argumentTypes": null, - "id": 2837, - "name": "notNull", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "7637:7:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7637:20:16" - } - ], - "name": "submitTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2827, - "mutability": "mutable", - "name": "destination", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7526:19:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7526:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2829, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7555:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7555:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2831, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7578:19:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7578:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7516:87:16" - }, - "returnParameters": { - "id": 2842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2841, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7667:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7667:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7666:23:16" - }, - "scope": 3385, - "src": "7490:543:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2938, - "nodeType": "Block", - "src": "8337:463:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2889, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "8347:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 2893, - "indexExpression": { - "argumentTypes": null, - "id": 2890, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8361:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8347:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2894, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2891, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8376:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8376:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8347:40:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8390:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8347:47:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2897, - "nodeType": "ExpressionStatement", - "src": "8347:47:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8422:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8422:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2901, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8434:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2898, - "name": "Confirmation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "8409:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8409:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2903, - "nodeType": "EmitStatement", - "src": "8404:44:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2905, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8488:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2904, - "name": "isConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3203, - "src": "8476:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8476:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2907, - "name": "unlockTimes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "8518:11:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2909, - "indexExpression": { - "argumentTypes": null, - "id": 2908, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8530:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8518:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8548:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8518:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8476:73:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 2916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "8565:31:16", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2914, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8582:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2913, - "name": "isEmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3027, - "src": "8566:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8566:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8476:120:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2937, - "nodeType": "IfStatement", - "src": "8459:335:16", - "trueBody": { - "id": 2936, - "nodeType": "Block", - "src": "8607:187:16", - "statements": [ - { - "assignments": [ - 2919 - ], - "declarations": [ - { - "constant": false, - "id": 2919, - "mutability": "mutable", - "name": "unlockTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2936, - "src": "8621:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8621:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2924, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2920, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8642:5:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8642:15:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 2922, - "name": "lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2206, - "src": "8660:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8642:29:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8621:50:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2925, - "name": "unlockTimes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "8685:11:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2927, - "indexExpression": { - "argumentTypes": null, - "id": 2926, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8697:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8685:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2928, - "name": "unlockTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "8714:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8685:39:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2930, - "nodeType": "ExpressionStatement", - "src": "8685:39:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2932, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8757:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2933, - "name": "unlockTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "8772:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2931, - "name": "UnlockTimeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "8743:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8743:40:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2935, - "nodeType": "EmitStatement", - "src": "8738:45:16" - } - ] - } - } - ] - }, - "documentation": { - "id": 2872, - "nodeType": "StructuredDocumentation", - "src": "8039:102:16", - "text": "@dev Allows an owner to confirm a transaction.\n @param transactionId Transaction ID." - }, - "functionSelector": "c01a8c84", - "id": 2939, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2877, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8232:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8232:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2879, - "modifierName": { - "argumentTypes": null, - "id": 2876, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "8220:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8220:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2881, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8270:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2882, - "modifierName": { - "argumentTypes": null, - "id": 2880, - "name": "transactionExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "8252:17:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8252:32:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2884, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8306:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2885, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8321:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8321:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2887, - "modifierName": { - "argumentTypes": null, - "id": 2883, - "name": "notConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "8293:12:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", - "typeString": "modifier (uint256,address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8293:39:16" - } - ], - "name": "confirmTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2874, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2939, - "src": "8174:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8174:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8173:23:16" - }, - "returnParameters": { - "id": 2888, - "nodeType": "ParameterList", - "parameters": [], - "src": "8337:0:16" - }, - "scope": 3385, - "src": "8146:654:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3026, - "nodeType": "Block", - "src": "8883:636:16", - "statements": [ - { - "assignments": [ - 2947 - ], - "declarations": [ - { - "constant": false, - "id": 2947, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3026, - "src": "8893:17:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2946, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8893:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2952, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2948, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "8913:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2950, - "indexExpression": { - "argumentTypes": null, - "id": 2949, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2941, - "src": "8926:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8913:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 2289, - "src": "8913:32:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8893:52:16" - }, - { - "body": { - "id": 3022, - "nodeType": "Block", - "src": "9008:482:16", - "statements": [ - { - "assignments": [ - 2965 - ], - "declarations": [ - { - "constant": false, - "id": 2965, - "mutability": "mutable", - "name": "emergencyCall", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3022, - "src": "9022:34:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall" - }, - "typeName": { - "contractScope": null, - "id": 2964, - "name": "EmergencyCall", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2297, - "src": "9022:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2969, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2966, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "9059:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2968, - "indexExpression": { - "argumentTypes": null, - "id": 2967, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "9074:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9059:17:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9022:54:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2970, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9112:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9112:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2972, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9127:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "paramsBytesCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2296, - "src": "9127:30:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 2974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9127:34:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9112:49:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2977, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9181:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9181:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 2979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9196:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9181:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:85:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2982, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9217:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 2983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9217:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 2985, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9240:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9217:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2986, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9246:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2988, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9251:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9246:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9217:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:141:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 2998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2991, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9273:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 2992, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9273:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 2994, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9296:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9273:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2995, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9302:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2997, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9307:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9302:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9273:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:197:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 3007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3000, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9329:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9329:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 3003, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9352:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9329:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3004, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9358:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3006, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9363:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9358:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9329:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:253:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3009, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9385:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 3010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9385:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 3012, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9408:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9385:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3013, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9414:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3015, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9419:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9414:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9385:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:309:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3021, - "nodeType": "IfStatement", - "src": "9091:389:16", - "trueBody": { - "id": 3020, - "nodeType": "Block", - "src": "9436:44:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9461:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2945, - "id": 3019, - "nodeType": "Return", - "src": "9454:11:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2957, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "8976:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2958, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "8980:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8980:21:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8976:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3023, - "initializationExpression": { - "assignments": [ - 2954 - ], - "declarations": [ - { - "constant": false, - "id": 2954, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3023, - "src": "8961:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8961:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2956, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8973:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8961:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9003:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2961, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "9003:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2963, - "nodeType": "ExpressionStatement", - "src": "9003:3:16" - }, - "nodeType": "ForStatement", - "src": "8956:534:16" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9507:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2945, - "id": 3025, - "nodeType": "Return", - "src": "9500:12:16" - } - ] - }, - "documentation": null, - "id": 3027, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEmergencyCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2941, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3027, - "src": "8831:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8831:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8830:23:16" - }, - "returnParameters": { - "id": 2945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2944, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3027, - "src": "8877:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2943, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8877:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8876:6:16" - }, - "scope": 3385, - "src": "8806:713:16", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3050, - "nodeType": "Block", - "src": "9620:207:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3043, - "name": "funcName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3029, - "src": "9732:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 3041, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "9715:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9715:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9715:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3040, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "9705:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9705:37:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3046, - "name": "_paramsBytesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3031, - "src": "9778:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3039, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "9663:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 3047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "9663:147:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 3036, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "9630:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9630:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 3048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9630:190:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3049, - "nodeType": "ExpressionStatement", - "src": "9630:190:16" - } - ] - }, - "documentation": null, - "functionSelector": "f075fb90", - "id": 3051, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3034, - "modifierName": { - "argumentTypes": null, - "id": 3033, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "9609:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9609:10:16" - } - ], - "name": "addEmergencyCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3029, - "mutability": "mutable", - "name": "funcName", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3051, - "src": "9551:22:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3028, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9551:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3031, - "mutability": "mutable", - "name": "_paramsBytesCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3051, - "src": "9575:25:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9575:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9550:51:16" - }, - "returnParameters": { - "id": 3035, - "nodeType": "ParameterList", - "parameters": [], - "src": "9620:0:16" - }, - "scope": 3385, - "src": "9525:302:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3084, - "nodeType": "Block", - "src": "10142:117:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3069, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "10152:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3073, - "indexExpression": { - "argumentTypes": null, - "id": 3070, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10166:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10152:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3074, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3071, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10181:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10181:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10152:40:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10195:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10152:48:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3077, - "nodeType": "ExpressionStatement", - "src": "10152:48:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3079, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10226:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10226:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3081, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10238:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3078, - "name": "Revocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "10215:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10215:37:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3083, - "nodeType": "EmitStatement", - "src": "10210:42:16" - } - ] - }, - "documentation": { - "id": 3052, - "nodeType": "StructuredDocumentation", - "src": "9833:120:16", - "text": "@dev Allows an owner to revoke a confirmation for a transaction.\n @param transactionId Transaction ID." - }, - "functionSelector": "20ea8d86", - "id": 3085, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10046:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10046:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3059, - "modifierName": { - "argumentTypes": null, - "id": 3056, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "10034:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10034:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 3061, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10076:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3062, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10091:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10091:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3064, - "modifierName": { - "argumentTypes": null, - "id": 3060, - "name": "confirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2384, - "src": "10066:9:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", - "typeString": "modifier (uint256,address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10066:36:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 3066, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10123:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3067, - "modifierName": { - "argumentTypes": null, - "id": 3065, - "name": "notExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "10111:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10111:26:16" - } - ], - "name": "revokeConfirmation", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3054, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3085, - "src": "9986:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9986:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9985:23:16" - }, - "returnParameters": { - "id": 3068, - "nodeType": "ParameterList", - "parameters": [], - "src": "10142:0:16" - }, - "scope": 3385, - "src": "9958:301:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3154, - "nodeType": "Block", - "src": "10519:594:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3099, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10537:5:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10537:15:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3101, - "name": "unlockTimes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "10556:11:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3103, - "indexExpression": { - "argumentTypes": null, - "id": 3102, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10568:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10556:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10537:45:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5452414e53414354494f4e5f4e4545445f544f5f554e4c4f434b", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10584:28:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0e775be8eed223e88abd3716be242e9114c0d3a20959ded3addfe470831caccb", - "typeString": "literal_string \"TRANSACTION_NEED_TO_UNLOCK\"" - }, - "value": "TRANSACTION_NEED_TO_UNLOCK" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0e775be8eed223e88abd3716be242e9114c0d3a20959ded3addfe470831caccb", - "typeString": "literal_string \"TRANSACTION_NEED_TO_UNLOCK\"" - } - ], - "id": 3098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10529:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10529:84:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3107, - "nodeType": "ExpressionStatement", - "src": "10529:84:16" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3109, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10640:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3108, - "name": "isConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3203, - "src": "10628:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10628:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3153, - "nodeType": "IfStatement", - "src": "10624:483:16", - "trueBody": { - "id": 3152, - "nodeType": "Block", - "src": "10656:451:16", - "statements": [ - { - "assignments": [ - 3112 - ], - "declarations": [ - { - "constant": false, - "id": 3112, - "mutability": "mutable", - "name": "transaction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3152, - "src": "10670:31:16", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction" - }, - "typeName": { - "contractScope": null, - "id": 3111, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2292, - "src": "10670:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3116, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3113, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "10704:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 3115, - "indexExpression": { - "argumentTypes": null, - "id": 3114, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10717:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10704:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10670:61:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3117, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10745:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "10745:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10768:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10745:27:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3122, - "nodeType": "ExpressionStatement", - "src": "10745:27:16" - }, - { - "assignments": [ - 3124, - null - ], - "declarations": [ - { - "constant": false, - "id": 3124, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3152, - "src": "10787:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10787:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 3134, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3131, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10877:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 2289, - "src": "10877:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3125, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10805:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "destination", - "nodeType": "MemberAccess", - "referencedDeclaration": 2285, - "src": "10805:23:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10805:28:16", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3128, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10841:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2287, - "src": "10841:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "10805:54:16", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10805:102:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10786:121:16" - }, - { - "condition": { - "argumentTypes": null, - "id": 3135, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "10925:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3150, - "nodeType": "Block", - "src": "10982:115:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3141, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "11022:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3140, - "name": "ExecutionFailure", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2230, - "src": "11005:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11005:31:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3143, - "nodeType": "EmitStatement", - "src": "11000:36:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3144, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "11054:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "11054:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11077:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "11054:28:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3149, - "nodeType": "ExpressionStatement", - "src": "11054:28:16" - } - ] - }, - "id": 3151, - "nodeType": "IfStatement", - "src": "10921:176:16", - "trueBody": { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3137, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10949:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3136, - "name": "Execution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2226, - "src": "10939:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10939:24:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3139, - "nodeType": "EmitStatement", - "src": "10934:29:16" - } - } - ] - } - } - ] - }, - "documentation": { - "id": 3086, - "nodeType": "StructuredDocumentation", - "src": "10265:110:16", - "text": "@dev Allows anyone to execute a confirmed transaction.\n @param transactionId Transaction ID." - }, - "functionSelector": "ee22610b", - "id": 3155, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3091, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10468:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10468:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3093, - "modifierName": { - "argumentTypes": null, - "id": 3090, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "10456:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10456:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 3095, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10500:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3096, - "modifierName": { - "argumentTypes": null, - "id": 3094, - "name": "notExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "10488:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10488:26:16" - } - ], - "name": "executeTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3088, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3155, - "src": "10408:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10408:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10407:23:16" - }, - "returnParameters": { - "id": 3097, - "nodeType": "ParameterList", - "parameters": [], - "src": "10519:0:16" - }, - "scope": 3385, - "src": "10380:733:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3202, - "nodeType": "Block", - "src": "11341:304:16", - "statements": [ - { - "assignments": [ - 3164 - ], - "declarations": [ - { - "constant": false, - "id": 3164, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3202, - "src": "11351:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11351:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3166, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11367:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11351:17:16" - }, - { - "body": { - "id": 3198, - "nodeType": "Block", - "src": "11423:193:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3178, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "11441:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3180, - "indexExpression": { - "argumentTypes": null, - "id": 3179, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "11455:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11441:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3184, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3181, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "11470:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3183, - "indexExpression": { - "argumentTypes": null, - "id": 3182, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3168, - "src": "11477:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11470:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11441:39:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3190, - "nodeType": "IfStatement", - "src": "11437:88:16", - "trueBody": { - "id": 3189, - "nodeType": "Block", - "src": "11482:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3185, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "11500:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11509:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11500:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3188, - "nodeType": "ExpressionStatement", - "src": "11500:10:16" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3191, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "11543:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3192, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "11552:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11543:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3197, - "nodeType": "IfStatement", - "src": "11539:67:16", - "trueBody": { - "id": 3196, - "nodeType": "Block", - "src": "11562:44:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11587:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3162, - "id": 3195, - "nodeType": "Return", - "src": "11580:11:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3171, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3168, - "src": "11399:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3172, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "11403:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11403:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11399:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3199, - "initializationExpression": { - "assignments": [ - 3168 - ], - "declarations": [ - { - "constant": false, - "id": 3168, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3199, - "src": "11384:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11384:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3170, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11396:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11384:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11418:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3175, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3168, - "src": "11418:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3177, - "nodeType": "ExpressionStatement", - "src": "11418:3:16" - }, - "nodeType": "ForStatement", - "src": "11379:237:16" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11633:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 3162, - "id": 3201, - "nodeType": "Return", - "src": "11626:12:16" - } - ] - }, - "documentation": { - "id": 3156, - "nodeType": "StructuredDocumentation", - "src": "11119:146:16", - "text": "@dev Returns the confirmation status of a transaction.\n @param transactionId Transaction ID.\n @return Confirmation status." - }, - "functionSelector": "784547a7", - "id": 3203, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isConfirmed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3159, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3158, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3203, - "src": "11291:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11291:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11290:23:16" - }, - "returnParameters": { - "id": 3162, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3161, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3203, - "src": "11335:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3160, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11335:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11334:6:16" - }, - "scope": 3385, - "src": "11270:375:16", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3237, - "nodeType": "Block", - "src": "11934:172:16", - "statements": [ - { - "body": { - "id": 3235, - "nodeType": "Block", - "src": "11988:112:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3222, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "12006:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3224, - "indexExpression": { - "argumentTypes": null, - "id": 3223, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "12020:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12006:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3228, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3225, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "12035:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3227, - "indexExpression": { - "argumentTypes": null, - "id": 3226, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "12042:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12035:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12006:39:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3234, - "nodeType": "IfStatement", - "src": "12002:88:16", - "trueBody": { - "id": 3233, - "nodeType": "Block", - "src": "12047:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3229, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "12065:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12074:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12065:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3232, - "nodeType": "ExpressionStatement", - "src": "12065:10:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3215, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "11964:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3216, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "11968:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11968:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11964:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3236, - "initializationExpression": { - "assignments": [ - 3212 - ], - "declarations": [ - { - "constant": false, - "id": 3212, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3236, - "src": "11949:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11949:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3214, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11961:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11949:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11983:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3219, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "11983:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3221, - "nodeType": "ExpressionStatement", - "src": "11983:3:16" - }, - "nodeType": "ForStatement", - "src": "11944:156:16" - } - ] - }, - "documentation": { - "id": 3204, - "nodeType": "StructuredDocumentation", - "src": "11682:156:16", - "text": "@dev Returns number of confirmations of a transaction.\n @param transactionId Transaction ID.\n @return count Number of confirmations." - }, - "functionSelector": "8b51d13f", - "id": 3238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getConfirmationCount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3206, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3238, - "src": "11873:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11873:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11872:23:16" - }, - "returnParameters": { - "id": 3210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3209, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3238, - "src": "11919:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11918:15:16" - }, - "scope": 3385, - "src": "11843:263:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3282, - "nodeType": "Block", - "src": "12503:216:16", - "statements": [ - { - "body": { - "id": 3280, - "nodeType": "Block", - "src": "12560:153:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3258, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3241, - "src": "12579:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 3263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12590:25:16", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3259, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "12591:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 3261, - "indexExpression": { - "argumentTypes": null, - "id": 3260, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12604:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12591:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 3262, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "12591:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12579:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12578:38:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3266, - "name": "executed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3243, - "src": "12621:8:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3267, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "12633:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 3269, - "indexExpression": { - "argumentTypes": null, - "id": 3268, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12646:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12633:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "12633:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12621:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12620:38:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12578:80:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3279, - "nodeType": "IfStatement", - "src": "12574:129:16", - "trueBody": { - "id": 3278, - "nodeType": "Block", - "src": "12660:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3274, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "12678:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12687:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12678:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3277, - "nodeType": "ExpressionStatement", - "src": "12678:10:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12533:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3253, - "name": "transactionCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2283, - "src": "12537:16:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12533:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3281, - "initializationExpression": { - "assignments": [ - 3249 - ], - "declarations": [ - { - "constant": false, - "id": 3249, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3281, - "src": "12518:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12518:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3251, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12530:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12518:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12555:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3255, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12555:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3257, - "nodeType": "ExpressionStatement", - "src": "12555:3:16" - }, - "nodeType": "ForStatement", - "src": "12513:200:16" - } - ] - }, - "documentation": { - "id": 3239, - "nodeType": "StructuredDocumentation", - "src": "12112:262:16", - "text": "@dev Returns total number of transactions after filers are applied.\n @param pending Include pending transactions.\n @param executed Include executed transactions.\n @return count Total number of transactions after filters are applied." - }, - "functionSelector": "54741525", - "id": 3283, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTransactionCount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3241, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3283, - "src": "12408:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3240, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12408:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3243, - "mutability": "mutable", - "name": "executed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3283, - "src": "12422:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12422:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12407:29:16" - }, - "returnParameters": { - "id": 3247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3246, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3283, - "src": "12484:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12484:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12483:15:16" - }, - "scope": 3385, - "src": "12379:340:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3292, - "nodeType": "Block", - "src": "12872:30:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3290, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "12889:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 3289, - "id": 3291, - "nodeType": "Return", - "src": "12882:13:16" - } - ] - }, - "documentation": { - "id": 3284, - "nodeType": "StructuredDocumentation", - "src": "12725:80:16", - "text": "@dev Returns list of owners.\n @return List of owner addresses." - }, - "functionSelector": "a0e67e2b", - "id": 3293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOwners", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3285, - "nodeType": "ParameterList", - "parameters": [], - "src": "12828:2:16" - }, - "returnParameters": { - "id": 3289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3288, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3293, - "src": "12854:16:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12854:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3287, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12854:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12853:18:16" - }, - "scope": 3385, - "src": "12810:92:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3383, - "nodeType": "Block", - "src": "13235:491:16", - "statements": [ - { - "assignments": [ - 3306 - ], - "declarations": [ - { - "constant": false, - "id": 3306, - "mutability": "mutable", - "name": "confirmationsTemp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "13245:34:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13245:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3305, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13245:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3313, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3310, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13296:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13296:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "13282:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 3307, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13286:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3308, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13286:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 3312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13282:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13245:65:16" - }, - { - "assignments": [ - 3315 - ], - "declarations": [ - { - "constant": false, - "id": 3315, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "13320:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13320:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3317, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13336:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13320:17:16" - }, - { - "assignments": [ - 3319 - ], - "declarations": [ - { - "constant": false, - "id": 3319, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "13347:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13347:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3320, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "13347:9:16" - }, - { - "body": { - "id": 3353, - "nodeType": "Block", - "src": "13403:166:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3332, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "13421:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3334, - "indexExpression": { - "argumentTypes": null, - "id": 3333, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3296, - "src": "13435:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13421:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3338, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3335, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13450:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3337, - "indexExpression": { - "argumentTypes": null, - "id": 3336, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13457:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13450:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13421:39:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3352, - "nodeType": "IfStatement", - "src": "13417:142:16", - "trueBody": { - "id": 3351, - "nodeType": "Block", - "src": "13462:97:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3339, - "name": "confirmationsTemp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3306, - "src": "13480:17:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3341, - "indexExpression": { - "argumentTypes": null, - "id": 3340, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13498:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13480:24:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3342, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13507:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3344, - "indexExpression": { - "argumentTypes": null, - "id": 3343, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13514:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13507:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13480:36:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3346, - "nodeType": "ExpressionStatement", - "src": "13480:36:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3347, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13534:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13543:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13534:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3350, - "nodeType": "ExpressionStatement", - "src": "13534:10:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3325, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13379:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3326, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13383:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13383:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13379:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3354, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 3323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3321, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13372:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 3322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13376:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13372:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3324, - "nodeType": "ExpressionStatement", - "src": "13372:5:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13398:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3329, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13398:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3331, - "nodeType": "ExpressionStatement", - "src": "13398:3:16" - }, - "nodeType": "ForStatement", - "src": "13367:202:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3355, - "name": "_confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3300, - "src": "13579:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3359, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13610:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "13596:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 3356, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13600:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3357, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13600:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 3360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13596:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13579:37:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3362, - "nodeType": "ExpressionStatement", - "src": "13579:37:16" - }, - { - "body": { - "id": 3381, - "nodeType": "Block", - "src": "13655:65:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3373, - "name": "_confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3300, - "src": "13669:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3375, - "indexExpression": { - "argumentTypes": null, - "id": 3374, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13684:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13669:17:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3376, - "name": "confirmationsTemp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3306, - "src": "13689:17:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3378, - "indexExpression": { - "argumentTypes": null, - "id": 3377, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13707:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13689:20:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13669:40:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3380, - "nodeType": "ExpressionStatement", - "src": "13669:40:16" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3367, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13639:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3368, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13643:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13639:9:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3382, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 3365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3363, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13632:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 3364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13636:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13632:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3366, - "nodeType": "ExpressionStatement", - "src": "13632:5:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13650:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3370, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13650:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3372, - "nodeType": "ExpressionStatement", - "src": "13650:3:16" - }, - "nodeType": "ForStatement", - "src": "13627:93:16" - } - ] - }, - "documentation": { - "id": 3294, - "nodeType": "StructuredDocumentation", - "src": "12908:189:16", - "text": "@dev Returns array with owner addresses, which confirmed transaction.\n @param transactionId Transaction ID.\n @return _confirmations Returns array of owner addresses." - }, - "functionSelector": "b5dc40c3", - "id": 3384, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getConfirmations", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3296, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3384, - "src": "13128:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13128:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13127:23:16" - }, - "returnParameters": { - "id": 3301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3300, - "mutability": "mutable", - "name": "_confirmations", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3384, - "src": "13198:31:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13198:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13198:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13197:33:16" - }, - "scope": 3385, - "src": "13102:624:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3386, - "src": "204:13524:16" - } - ], - "src": "145:13584:16" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MultiSig.sol", - "exportedSymbols": { - "MultiSigWalletWithTimelock": [ - 3385 - ] - }, - "id": 3386, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2199, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "145:22:16" - }, - { - "id": 2200, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "168:33:16" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3385, - "linearizedBaseContracts": [ - 3385 - ], - "name": "MultiSigWalletWithTimelock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "functionSelector": "d74f8edd", - "id": 2203, - "mutability": "constant", - "name": "MAX_OWNER_COUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "246:44:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "246:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3530", - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "bfa6fddb", - "id": 2206, - "mutability": "mutable", - "name": "lockSeconds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "296:34:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2204, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "296:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3836343030", - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "325:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "86400" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2212, - "name": "Confirmation", - "nodeType": "EventDefinition", - "parameters": { - "id": 2211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2208, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "356:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "356:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2210, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "380:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2209, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "380:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "355:55:16" - }, - "src": "337:74:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2218, - "name": "Revocation", - "nodeType": "EventDefinition", - "parameters": { - "id": 2217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2214, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2218, - "src": "433:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "433:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2216, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2218, - "src": "457:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "457:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "432:55:16" - }, - "src": "416:72:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2222, - "name": "Submission", - "nodeType": "EventDefinition", - "parameters": { - "id": 2221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2220, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2222, - "src": "510:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2219, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "510:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "509:31:16" - }, - "src": "493:48:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2226, - "name": "Execution", - "nodeType": "EventDefinition", - "parameters": { - "id": 2225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2224, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2226, - "src": "562:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "562:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "561:31:16" - }, - "src": "546:47:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2230, - "name": "ExecutionFailure", - "nodeType": "EventDefinition", - "parameters": { - "id": 2229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2228, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2230, - "src": "621:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "621:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "620:31:16" - }, - "src": "598:54:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2236, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 2235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2232, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2236, - "src": "671:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "671:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2234, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2236, - "src": "695:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "670:39:16" - }, - "src": "657:53:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2240, - "name": "OwnerAddition", - "nodeType": "EventDefinition", - "parameters": { - "id": 2239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2238, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2240, - "src": "735:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "735:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "734:23:16" - }, - "src": "715:43:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2244, - "name": "OwnerRemoval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2242, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2244, - "src": "782:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "782:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "781:23:16" - }, - "src": "763:42:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2248, - "name": "RequirementChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2246, - "indexed": false, - "mutability": "mutable", - "name": "required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2248, - "src": "834:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "834:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "833:18:16" - }, - "src": "810:42:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2254, - "name": "UnlockTimeSet", - "nodeType": "EventDefinition", - "parameters": { - "id": 2253, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2250, - "indexed": true, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2254, - "src": "877:29:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "877:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2252, - "indexed": false, - "mutability": "mutable", - "name": "confirmationTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2254, - "src": "908:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "908:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "876:57:16" - }, - "src": "857:77:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 2258, - "name": "LockSecondsChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2256, - "indexed": false, - "mutability": "mutable", - "name": "lockSeconds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2258, - "src": "963:19:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "962:21:16" - }, - "src": "939:45:16" - }, - { - "constant": false, - "functionSelector": "9ace38c2", - "id": 2262, - "mutability": "mutable", - "name": "transactions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "990:51:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction)" - }, - "typeName": { - "id": 2261, - "keyType": { - "id": 2259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "998:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "990:31:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction)" - }, - "valueType": { - "contractScope": null, - "id": 2260, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2292, - "src": "1009:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3411c81c", - "id": 2268, - "mutability": "mutable", - "name": "confirmations", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1047:65:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - }, - "typeName": { - "id": 2267, - "keyType": { - "id": 2263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1055:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1047:44:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - }, - "valueType": { - "id": 2266, - "keyType": { - "id": 2264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1074:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1066:24:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2265, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1085:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f54bf6e", - "id": 2272, - "mutability": "mutable", - "name": "isOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1118:39:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 2271, - "keyType": { - "id": 2269, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1126:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1118:24:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1137:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "76ac947a", - "id": 2276, - "mutability": "mutable", - "name": "unlockTimes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1163:46:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 2275, - "keyType": { - "id": 2273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1171:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1163:27:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 2274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1182:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "025e7c27", - "id": 2279, - "mutability": "mutable", - "name": "owners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1216:23:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1216:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2278, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1216:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dc8452cd", - "id": 2281, - "mutability": "mutable", - "name": "required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1245:23:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1245:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b77bf600", - "id": 2283, - "mutability": "mutable", - "name": "transactionCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1274:31:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "MultiSigWalletWithTimelock.Transaction", - "id": 2292, - "members": [ - { - "constant": false, - "id": 2285, - "mutability": "mutable", - "name": "destination", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1341:19:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1341:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2287, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1370:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1370:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2289, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1393:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2288, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1393:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2291, - "mutability": "mutable", - "name": "executed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2292, - "src": "1413:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2290, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1413:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Transaction", - "nodeType": "StructDefinition", - "scope": 3385, - "src": "1312:121:16", - "visibility": "public" - }, - { - "canonicalName": "MultiSigWalletWithTimelock.EmergencyCall", - "id": 2297, - "members": [ - { - "constant": false, - "id": 2294, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2297, - "src": "1470:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2293, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1470:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2296, - "mutability": "mutable", - "name": "paramsBytesCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2297, - "src": "1496:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1496:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "EmergencyCall", - "nodeType": "StructDefinition", - "scope": 3385, - "src": "1439:88:16", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "86384afc", - "id": 2300, - "mutability": "mutable", - "name": "emergencyCalls", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3385, - "src": "1579:37:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 2298, - "name": "EmergencyCall", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2297, - "src": "1579:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall" - } - }, - "id": 2299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1579:15:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2315, - "nodeType": "Block", - "src": "1645:88:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 2308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1659:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1659:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2306, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1681:4:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MultiSigWalletWithTimelock_$3385", - "typeString": "contract MultiSigWalletWithTimelock" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MultiSigWalletWithTimelock_$3385", - "typeString": "contract MultiSigWalletWithTimelock" - } - ], - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1673:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1673:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1673:13:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1659:27:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2313, - "nodeType": "IfStatement", - "src": "1655:60:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f4e4c595f57414c4c45545f4552524f52", - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1695:19:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_154c05d05b8b4fc5182b27cf8fc7d4edd12f98319c5a78b89a786d51471e8730", - "typeString": "literal_string \"ONLY_WALLET_ERROR\"" - }, - "value": "ONLY_WALLET_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_154c05d05b8b4fc5182b27cf8fc7d4edd12f98319c5a78b89a786d51471e8730", - "typeString": "literal_string \"ONLY_WALLET_ERROR\"" - } - ], - "id": 2309, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1688:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2312, - "nodeType": "ExpressionStatement", - "src": "1688:27:16" - } - }, - { - "id": 2314, - "nodeType": "PlaceholderStatement", - "src": "1725:1:16" - } - ] - }, - "documentation": null, - "id": 2316, - "name": "onlyWallet", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1642:2:16" - }, - "src": "1623:110:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2329, - "nodeType": "Block", - "src": "1781:84:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2320, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "1795:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2322, - "indexExpression": { - "argumentTypes": null, - "id": 2321, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1803:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1795:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2327, - "nodeType": "IfStatement", - "src": "1791:56:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f574e45525f444f45535f4e4f545f45584953545f4552524f52", - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1818:28:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0de49efc4c535b8cd13aa9de166b4db6f53a1ded9c131ce141ae0ef26adc35fb", - "typeString": "literal_string \"OWNER_DOES_NOT_EXIST_ERROR\"" - }, - "value": "OWNER_DOES_NOT_EXIST_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_0de49efc4c535b8cd13aa9de166b4db6f53a1ded9c131ce141ae0ef26adc35fb", - "typeString": "literal_string \"OWNER_DOES_NOT_EXIST_ERROR\"" - } - ], - "id": 2323, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1811:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1811:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2326, - "nodeType": "ExpressionStatement", - "src": "1811:36:16" - } - }, - { - "id": 2328, - "nodeType": "PlaceholderStatement", - "src": "1857:1:16" - } - ] - }, - "documentation": null, - "id": 2330, - "name": "ownerDoesNotExist", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2318, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2330, - "src": "1766:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2317, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1766:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1765:15:16" - }, - "src": "1739:126:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2344, - "nodeType": "Block", - "src": "1907:77:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1921:15:16", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2334, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "1922:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2336, - "indexExpression": { - "argumentTypes": null, - "id": 2335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "1930:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1922:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2342, - "nodeType": "IfStatement", - "src": "1917:49:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f574e45525f4558495354535f4552524f52", - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1945:20:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5679e051834b8488b2a064e5d691d44ba5a73e92259d98f57c96ad80baf3fdf", - "typeString": "literal_string \"OWNER_EXISTS_ERROR\"" - }, - "value": "OWNER_EXISTS_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a5679e051834b8488b2a064e5d691d44ba5a73e92259d98f57c96ad80baf3fdf", - "typeString": "literal_string \"OWNER_EXISTS_ERROR\"" - } - ], - "id": 2338, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1938:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1938:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2341, - "nodeType": "ExpressionStatement", - "src": "1938:28:16" - } - }, - { - "id": 2343, - "nodeType": "PlaceholderStatement", - "src": "1976:1:16" - } - ] - }, - "documentation": null, - "id": 2345, - "name": "ownerExists", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2332, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2345, - "src": "1892:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1892:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1891:15:16" - }, - "src": "1871:113:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2364, - "nodeType": "Block", - "src": "2040:133:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2349, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "2054:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2351, - "indexExpression": { - "argumentTypes": null, - "id": 2350, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "2067:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2054:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "destination", - "nodeType": "MemberAccess", - "referencedDeclaration": 2285, - "src": "2054:39:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2105:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2097:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2353, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2097:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2097:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2054:53:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2362, - "nodeType": "IfStatement", - "src": "2050:105:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5452414e53414354494f4e5f4558495354535f4552524f52", - "id": 2359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:26:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0fa90d37b3d14dd2ae235c1fa2187af5b08c507d31134f0aa67ff6323c434990", - "typeString": "literal_string \"TRANSACTION_EXISTS_ERROR\"" - }, - "value": "TRANSACTION_EXISTS_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_0fa90d37b3d14dd2ae235c1fa2187af5b08c507d31134f0aa67ff6323c434990", - "typeString": "literal_string \"TRANSACTION_EXISTS_ERROR\"" - } - ], - "id": 2358, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2121:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2121:34:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2361, - "nodeType": "ExpressionStatement", - "src": "2121:34:16" - } - }, - { - "id": 2363, - "nodeType": "PlaceholderStatement", - "src": "2165:1:16" - } - ] - }, - "documentation": null, - "id": 2365, - "name": "transactionExists", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2347, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2365, - "src": "2017:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2017:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2016:23:16" - }, - "src": "1990:183:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2383, - "nodeType": "Block", - "src": "2236:95:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2250:36:16", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2371, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2251:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 2373, - "indexExpression": { - "argumentTypes": null, - "id": 2372, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2367, - "src": "2265:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2251:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2375, - "indexExpression": { - "argumentTypes": null, - "id": 2374, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "2280:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2251:35:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2381, - "nodeType": "IfStatement", - "src": "2246:67:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "434f4e4649524d45445f4552524f52", - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2295:17:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07011048ab4b644cae74fcaa058ba0ec4eb97750e69f4cfa039855b5807ab8eb", - "typeString": "literal_string \"CONFIRMED_ERROR\"" - }, - "value": "CONFIRMED_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_07011048ab4b644cae74fcaa058ba0ec4eb97750e69f4cfa039855b5807ab8eb", - "typeString": "literal_string \"CONFIRMED_ERROR\"" - } - ], - "id": 2377, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2288:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2288:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2380, - "nodeType": "ExpressionStatement", - "src": "2288:25:16" - } - }, - { - "id": 2382, - "nodeType": "PlaceholderStatement", - "src": "2323:1:16" - } - ] - }, - "documentation": null, - "id": 2384, - "name": "confirmed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2367, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2384, - "src": "2198:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2198:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2369, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2384, - "src": "2221:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2221:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2197:38:16" - }, - "src": "2179:152:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2401, - "nodeType": "Block", - "src": "2397:98:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2390, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2411:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 2392, - "indexExpression": { - "argumentTypes": null, - "id": 2391, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2386, - "src": "2425:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2411:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2394, - "indexExpression": { - "argumentTypes": null, - "id": 2393, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "2440:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2411:35:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2399, - "nodeType": "IfStatement", - "src": "2407:70:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4e4f545f434f4e4649524d45445f4552524f52", - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2455:21:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b93c270f73799c5026e6575ecff3675a730a2cac46b17cbb393881d7e18763e2", - "typeString": "literal_string \"NOT_CONFIRMED_ERROR\"" - }, - "value": "NOT_CONFIRMED_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b93c270f73799c5026e6575ecff3675a730a2cac46b17cbb393881d7e18763e2", - "typeString": "literal_string \"NOT_CONFIRMED_ERROR\"" - } - ], - "id": 2395, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2448:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2448:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2398, - "nodeType": "ExpressionStatement", - "src": "2448:29:16" - } - }, - { - "id": 2400, - "nodeType": "PlaceholderStatement", - "src": "2487:1:16" - } - ] - }, - "documentation": null, - "id": 2402, - "name": "notConfirmed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2386, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2402, - "src": "2359:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2385, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2359:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2388, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2402, - "src": "2382:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2382:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2358:38:16" - }, - "src": "2337:158:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2416, - "nodeType": "Block", - "src": "2545:98:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2406, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "2559:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2408, - "indexExpression": { - "argumentTypes": null, - "id": 2407, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2404, - "src": "2572:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2559:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "2559:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2414, - "nodeType": "IfStatement", - "src": "2555:70:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4e4f545f45584543555445445f4552524f52", - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2604:20:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_543cb05dbc23c4af907ca5a03a85c3d24cca2a1ba4a868fc8943b3b8ea69747d", - "typeString": "literal_string \"NOT_EXECUTED_ERROR\"" - }, - "value": "NOT_EXECUTED_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_543cb05dbc23c4af907ca5a03a85c3d24cca2a1ba4a868fc8943b3b8ea69747d", - "typeString": "literal_string \"NOT_EXECUTED_ERROR\"" - } - ], - "id": 2410, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2597:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2597:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2413, - "nodeType": "ExpressionStatement", - "src": "2597:28:16" - } - }, - { - "id": 2415, - "nodeType": "PlaceholderStatement", - "src": "2635:1:16" - } - ] - }, - "documentation": null, - "id": 2417, - "name": "notExecuted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2404, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2417, - "src": "2522:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2522:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2521:23:16" - }, - "src": "2501:142:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2433, - "nodeType": "Block", - "src": "2684:80:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2421, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2419, - "src": "2698:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2718:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2710:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2710:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2698:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2431, - "nodeType": "IfStatement", - "src": "2694:52:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4e4f545f4e554c4c5f4552524f52", - "id": 2428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2729:16:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ce3a403561f7436d6efa7d01af7869570afca7da394caf15c8ed863039e7b421", - "typeString": "literal_string \"NOT_NULL_ERROR\"" - }, - "value": "NOT_NULL_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ce3a403561f7436d6efa7d01af7869570afca7da394caf15c8ed863039e7b421", - "typeString": "literal_string \"NOT_NULL_ERROR\"" - } - ], - "id": 2427, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "2722:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:24:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2430, - "nodeType": "ExpressionStatement", - "src": "2722:24:16" - } - }, - { - "id": 2432, - "nodeType": "PlaceholderStatement", - "src": "2756:1:16" - } - ] - }, - "documentation": null, - "id": 2434, - "name": "notNull", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2419, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2434, - "src": "2666:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2666:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2665:18:16" - }, - "src": "2649:115:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2461, - "nodeType": "Block", - "src": "2835:216:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2440, - "name": "ownerCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "2862:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2441, - "name": "MAX_OWNER_COUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2203, - "src": "2875:15:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2862:28:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2443, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "2906:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2444, - "name": "ownerCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "2918:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2906:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:66:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2447, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "2944:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2944:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:96:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2451, - "name": "ownerCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "2974:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2988:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2974:15:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:127:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2459, - "nodeType": "IfStatement", - "src": "2845:188:16", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "56414c49445f524551554952454d454e545f4552524f52", - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3007:25:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7c52332ec5db78e995be376b3733f9df721050c4817a36758c44295f63a1644", - "typeString": "literal_string \"VALID_REQUIREMENT_ERROR\"" - }, - "value": "VALID_REQUIREMENT_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f7c52332ec5db78e995be376b3733f9df721050c4817a36758c44295f63a1644", - "typeString": "literal_string \"VALID_REQUIREMENT_ERROR\"" - } - ], - "id": 2455, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "3000:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3000:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2458, - "nodeType": "ExpressionStatement", - "src": "3000:33:16" - } - }, - { - "id": 2460, - "nodeType": "PlaceholderStatement", - "src": "3043:1:16" - } - ] - }, - "documentation": null, - "id": 2462, - "name": "validRequirement", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 2439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2436, - "mutability": "mutable", - "name": "ownerCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2462, - "src": "2796:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2796:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2438, - "mutability": "mutable", - "name": "_required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2462, - "src": "2816:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2816:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2795:39:16" - }, - "src": "2770:281:16", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2479, - "nodeType": "Block", - "src": "3144:95:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3158:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3158:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3170:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3158:13:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2478, - "nodeType": "IfStatement", - "src": "3154:79:16", - "trueBody": { - "id": 2477, - "nodeType": "Block", - "src": "3173:60:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3200:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3200:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2473, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3212:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3212:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2470, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2236, - "src": "3192:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3192:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2476, - "nodeType": "EmitStatement", - "src": "3187:35:16" - } - ] - } - } - ] - }, - "documentation": { - "id": 2463, - "nodeType": "StructuredDocumentation", - "src": "3057:54:16", - "text": "@dev Fallback function allows to deposit ether. " - }, - "id": 2480, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2464, - "nodeType": "ParameterList", - "parameters": [], - "src": "3124:2:16" - }, - "returnParameters": { - "id": 2465, - "nodeType": "ParameterList", - "parameters": [], - "src": "3144:0:16" - }, - "scope": 3385, - "src": "3116:123:16", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2496, - "nodeType": "Block", - "src": "3272:95:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2483, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3286:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3286:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3298:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3286:13:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2495, - "nodeType": "IfStatement", - "src": "3282:79:16", - "trueBody": { - "id": 2494, - "nodeType": "Block", - "src": "3301:60:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2488, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3328:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3328:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2490, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3340:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3340:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2487, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2236, - "src": "3320:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3320:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2493, - "nodeType": "EmitStatement", - "src": "3315:35:16" - } - ] - } - } - ] - }, - "documentation": null, - "id": 2497, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2481, - "nodeType": "ParameterList", - "parameters": [], - "src": "3252:2:16" - }, - "returnParameters": { - "id": 2482, - "nodeType": "ParameterList", - "parameters": [], - "src": "3272:0:16" - }, - "scope": 3385, - "src": "3245:122:16", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2602, - "nodeType": "Block", - "src": "3705:930:16", - "statements": [ - { - "body": { - "id": 2550, - "nodeType": "Block", - "src": "3760:172:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2522, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "3778:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2526, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2523, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3786:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2525, - "indexExpression": { - "argumentTypes": null, - "id": 2524, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3794:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3786:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3778:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2527, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3801:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2529, - "indexExpression": { - "argumentTypes": null, - "id": 2528, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3809:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3801:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3823:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3815:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3815:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3815:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3801:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3778:47:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2541, - "nodeType": "IfStatement", - "src": "3774:107:16", - "trueBody": { - "id": 2540, - "nodeType": "Block", - "src": "3827:54:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4f574e45525f4552524f52", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3852:13:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50f5ffffd46b93fc4216a2fd08d8a742f987ab7f4a48d802983a9d879430368b", - "typeString": "literal_string \"OWNER_ERROR\"" - }, - "value": "OWNER_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_50f5ffffd46b93fc4216a2fd08d8a742f987ab7f4a48d802983a9d879430368b", - "typeString": "literal_string \"OWNER_ERROR\"" - } - ], - "id": 2536, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "3845:6:16", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3845:21:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2539, - "nodeType": "ExpressionStatement", - "src": "3845:21:16" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2542, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "3895:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2546, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2543, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3903:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2545, - "indexExpression": { - "argumentTypes": null, - "id": 2544, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3911:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3903:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3895:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3917:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3895:26:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2549, - "nodeType": "ExpressionStatement", - "src": "3895:26:16" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2515, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3735:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2516, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3739:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3739:14:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3735:18:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2551, - "initializationExpression": { - "assignments": [ - 2512 - ], - "declarations": [ - { - "constant": false, - "id": 2512, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2551, - "src": "3720:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3720:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2514, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3732:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3720:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3755:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2519, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3755:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "3755:3:16" - }, - "nodeType": "ForStatement", - "src": "3715:217:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2552, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "3942:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2553, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3951:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "3942:16:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2555, - "nodeType": "ExpressionStatement", - "src": "3942:16:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2556, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "3968:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2557, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2503, - "src": "3979:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3968:20:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2559, - "nodeType": "ExpressionStatement", - "src": "3968:20:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "636c61696d4f776e6572736869702829", - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4139:18:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4e71e0c8676e3746167a1acf5f45b9c4f9bfd01db4faa49dd539202eb4a76b23", - "typeString": "literal_string \"claimOwnership()\"" - }, - "value": "claimOwnership()" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_4e71e0c8676e3746167a1acf5f45b9c4f9bfd01db4faa49dd539202eb4a76b23", - "typeString": "literal_string \"claimOwnership()\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 2565, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4122:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4122:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4122:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2564, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4112:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4112:47:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4195:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2563, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4070:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "4070:141:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 2560, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4037:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4037:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4037:184:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2573, - "nodeType": "ExpressionStatement", - "src": "4037:184:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7365744b2875696e7432353629", - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4333:15:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_67de8be994f5e612024f208d2fe429438ed98f752dca627d14a952634dbd4ba7", - "typeString": "literal_string \"setK(uint256)\"" - }, - "value": "setK(uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_67de8be994f5e612024f208d2fe429438ed98f752dca627d14a952634dbd4ba7", - "typeString": "literal_string \"setK(uint256)\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 2579, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4316:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4316:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4316:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2578, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4306:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4306:44:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "3634", - "id": 2584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4386:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - ], - "id": 2577, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4264:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "4264:139:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 2574, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4231:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4231:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4231:182:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2587, - "nodeType": "ExpressionStatement", - "src": "4231:182:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7365744c697175696469747950726f7669646572466565526174652875696e7432353629", - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4525:38:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5bb7552a97062da753264cd0b6de4cb510c3e7bc8360141372bd76876d44f10e", - "typeString": "literal_string \"setLiquidityProviderFeeRate(uint256)\"" - }, - "value": "setLiquidityProviderFeeRate(uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5bb7552a97062da753264cd0b6de4cb510c3e7bc8360141372bd76876d44f10e", - "typeString": "literal_string \"setLiquidityProviderFeeRate(uint256)\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 2593, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4508:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4508:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4508:56:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2592, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4498:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4498:67:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "3634", - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4601:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - } - ], - "id": 2591, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4456:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "4456:162:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 2588, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4423:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4423:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 2600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4423:205:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2601, - "nodeType": "ExpressionStatement", - "src": "4423:205:16" - } - ] - }, - "documentation": { - "id": 2498, - "nodeType": "StructuredDocumentation", - "src": "3373:199:16", - "text": "@dev Contract constructor sets initial owners and required number of confirmations.\n @param _owners List of initial owners.\n @param _required Number of required confirmations." - }, - "id": 2603, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2506, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2501, - "src": "3674:7:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3674:14:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2508, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2503, - "src": "3690:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2509, - "modifierName": { - "argumentTypes": null, - "id": 2505, - "name": "validRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "3657:16:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", - "typeString": "modifier (uint256,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3657:43:16" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2501, - "mutability": "mutable", - "name": "_owners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2603, - "src": "3589:24:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3589:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2500, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3589:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2503, - "mutability": "mutable", - "name": "_required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2603, - "src": "3615:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3615:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3588:45:16" - }, - "returnParameters": { - "id": 2510, - "nodeType": "ParameterList", - "parameters": [], - "src": "3705:0:16" - }, - "scope": 3385, - "src": "3577:1058:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2611, - "nodeType": "Block", - "src": "4713:45:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2608, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4730:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4730:21:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2607, - "id": 2610, - "nodeType": "Return", - "src": "4723:28:16" - } - ] - }, - "documentation": null, - "functionSelector": "c0af0227", - "id": 2612, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEmergencyCallsCount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2604, - "nodeType": "ParameterList", - "parameters": [], - "src": "4672:2:16" - }, - "returnParameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2606, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2612, - "src": "4698:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4698:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4697:15:16" - }, - "scope": 3385, - "src": "4641:117:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2649, - "nodeType": "Block", - "src": "5075:101:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2633, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "5085:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2635, - "indexExpression": { - "argumentTypes": null, - "id": 2634, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5093:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5085:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5102:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5085:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2638, - "nodeType": "ExpressionStatement", - "src": "5085:21:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2642, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5128:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2639, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5116:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5116:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5116:18:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2644, - "nodeType": "ExpressionStatement", - "src": "5116:18:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2646, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5163:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2645, - "name": "OwnerAddition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "5149:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5149:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2648, - "nodeType": "EmitStatement", - "src": "5144:25:16" - } - ] - }, - "documentation": { - "id": 2613, - "nodeType": "StructuredDocumentation", - "src": "4764:123:16", - "text": "@dev Allows to add a new owner. Transaction has to be sent by wallet.\n @param owner Address of new owner." - }, - "functionSelector": "7065cb48", - "id": 2650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2618, - "modifierName": { - "argumentTypes": null, - "id": 2617, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "4950:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4950:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2620, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "4987:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2621, - "modifierName": { - "argumentTypes": null, - "id": 2619, - "name": "ownerDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "4969:17:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4969:24:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2623, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5010:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2624, - "modifierName": { - "argumentTypes": null, - "id": 2622, - "name": "notNull", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "5002:7:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5002:14:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2626, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5042:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5042:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5058:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5042:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2630, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "5061:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2631, - "modifierName": { - "argumentTypes": null, - "id": 2625, - "name": "validRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "5025:16:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", - "typeString": "modifier (uint256,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5025:45:16" - } - ], - "name": "addOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2615, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2650, - "src": "4910:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2614, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4910:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4909:15:16" - }, - "returnParameters": { - "id": 2632, - "nodeType": "ParameterList", - "parameters": [], - "src": "5075:0:16" - }, - "scope": 3385, - "src": "4892:284:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2720, - "nodeType": "Block", - "src": "5381:390:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2661, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "5391:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2663, - "indexExpression": { - "argumentTypes": null, - "id": 2662, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5399:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5391:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5408:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "5391:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2666, - "nodeType": "ExpressionStatement", - "src": "5391:22:16" - }, - { - "body": { - "id": 2699, - "nodeType": "Block", - "src": "5471:141:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2680, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5489:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2682, - "indexExpression": { - "argumentTypes": null, - "id": 2681, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5496:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5489:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2683, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5502:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5489:18:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2698, - "nodeType": "IfStatement", - "src": "5485:117:16", - "trueBody": { - "id": 2697, - "nodeType": "Block", - "src": "5509:93:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2685, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5527:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2687, - "indexExpression": { - "argumentTypes": null, - "id": 2686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5534:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5527:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2688, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5539:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2693, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2689, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5546:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5546:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5562:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5546:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5539:25:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5527:37:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2695, - "nodeType": "ExpressionStatement", - "src": "5527:37:16" - }, - { - "id": 2696, - "nodeType": "Break", - "src": "5582:5:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2671, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5443:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2672, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5447:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5447:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5463:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5447:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5443:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2700, - "initializationExpression": { - "assignments": [ - 2668 - ], - "declarations": [ - { - "constant": false, - "id": 2668, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2700, - "src": "5428:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5428:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2670, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5440:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5428:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5466:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2677, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "5466:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2679, - "nodeType": "ExpressionStatement", - "src": "5466:3:16" - }, - "nodeType": "ForStatement", - "src": "5423:189:16" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2701, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5622:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5622:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 2704, - "nodeType": "ExpressionStatement", - "src": "5622:10:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2705, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "5647:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2706, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5658:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5658:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5647:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2715, - "nodeType": "IfStatement", - "src": "5643:87:16", - "trueBody": { - "id": 2714, - "nodeType": "Block", - "src": "5673:57:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2710, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "5705:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5705:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2709, - "name": "changeRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "5687:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5687:32:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2713, - "nodeType": "ExpressionStatement", - "src": "5687:32:16" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2717, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5758:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2716, - "name": "OwnerRemoval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2244, - "src": "5745:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5745:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2719, - "nodeType": "EmitStatement", - "src": "5740:24:16" - } - ] - }, - "documentation": { - "id": 2651, - "nodeType": "StructuredDocumentation", - "src": "5182:119:16", - "text": "@dev Allows to remove an owner. Transaction has to be sent by wallet.\n @param owner Address of owner." - }, - "functionSelector": "173825d9", - "id": 2721, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2656, - "modifierName": { - "argumentTypes": null, - "id": 2655, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "5351:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5351:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2658, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "5374:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2659, - "modifierName": { - "argumentTypes": null, - "id": 2657, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "5362:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5362:18:16" - } - ], - "name": "removeOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2721, - "src": "5327:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5327:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5326:15:16" - }, - "returnParameters": { - "id": 2660, - "nodeType": "ParameterList", - "parameters": [], - "src": "5381:0:16" - }, - "scope": 3385, - "src": "5306:465:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2784, - "nodeType": "Block", - "src": "6134:323:16", - "statements": [ - { - "body": { - "id": 2762, - "nodeType": "Block", - "src": "6188:124:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2748, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6206:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2750, - "indexExpression": { - "argumentTypes": null, - "id": 2749, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6213:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6206:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2751, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6219:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6206:18:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2761, - "nodeType": "IfStatement", - "src": "6202:100:16", - "trueBody": { - "id": 2760, - "nodeType": "Block", - "src": "6226:76:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2753, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6244:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2755, - "indexExpression": { - "argumentTypes": null, - "id": 2754, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6251:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6244:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2756, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6256:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6244:20:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2758, - "nodeType": "ExpressionStatement", - "src": "6244:20:16" - }, - { - "id": 2759, - "nodeType": "Break", - "src": "6282:5:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2741, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6164:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2742, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6168:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6168:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6164:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2763, - "initializationExpression": { - "assignments": [ - 2738 - ], - "declarations": [ - { - "constant": false, - "id": 2738, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2763, - "src": "6149:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6149:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2740, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6161:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6149:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6183:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2745, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "6183:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2747, - "nodeType": "ExpressionStatement", - "src": "6183:3:16" - }, - "nodeType": "ForStatement", - "src": "6144:168:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2764, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "6322:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2766, - "indexExpression": { - "argumentTypes": null, - "id": 2765, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6330:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6322:14:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6339:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6322:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2769, - "nodeType": "ExpressionStatement", - "src": "6322:22:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2770, - "name": "isOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "6354:7:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2772, - "indexExpression": { - "argumentTypes": null, - "id": 2771, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6362:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6354:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6374:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6354:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2775, - "nodeType": "ExpressionStatement", - "src": "6354:24:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2777, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6406:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2776, - "name": "OwnerRemoval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2244, - "src": "6393:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6393:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2779, - "nodeType": "EmitStatement", - "src": "6388:24:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2781, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6441:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2780, - "name": "OwnerAddition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "6427:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6427:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2783, - "nodeType": "EmitStatement", - "src": "6422:28:16" - } - ] - }, - "documentation": { - "id": 2722, - "nodeType": "StructuredDocumentation", - "src": "5777:194:16", - "text": "@dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n @param owner Address of owner to be replaced.\n @param owner Address of new owner." - }, - "functionSelector": "e20056e6", - "id": 2785, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2729, - "modifierName": { - "argumentTypes": null, - "id": 2728, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "6056:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6056:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2731, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2724, - "src": "6087:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2732, - "modifierName": { - "argumentTypes": null, - "id": 2730, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "6075:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6075:18:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2734, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2726, - "src": "6120:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2735, - "modifierName": { - "argumentTypes": null, - "id": 2733, - "name": "ownerDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "6102:17:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6102:27:16" - } - ], - "name": "replaceOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2724, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2785, - "src": "5998:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5998:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2726, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2785, - "src": "6013:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6013:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5997:33:16" - }, - "returnParameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [], - "src": "6134:0:16" - }, - "scope": 3385, - "src": "5976:481:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2806, - "nodeType": "Block", - "src": "6770:80:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2798, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "6780:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2799, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "6791:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6780:20:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2801, - "nodeType": "ExpressionStatement", - "src": "6780:20:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2803, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "6833:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2802, - "name": "RequirementChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2248, - "src": "6815:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6815:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2805, - "nodeType": "EmitStatement", - "src": "6810:33:16" - } - ] - }, - "documentation": { - "id": 2786, - "nodeType": "StructuredDocumentation", - "src": "6463:167:16", - "text": "@dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n @param _required Number of required confirmations." - }, - "functionSelector": "ba51a6df", - "id": 2807, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2791, - "modifierName": { - "argumentTypes": null, - "id": 2790, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "6704:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6704:10:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2793, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "6740:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6740:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2795, - "name": "_required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "6755:9:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2796, - "modifierName": { - "argumentTypes": null, - "id": 2792, - "name": "validRequirement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "6723:16:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", - "typeString": "modifier (uint256,uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "6723:42:16" - } - ], - "name": "changeRequirement", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2788, - "mutability": "mutable", - "name": "_required", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2807, - "src": "6662:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6662:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6661:19:16" - }, - "returnParameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [], - "src": "6770:0:16" - }, - "scope": 3385, - "src": "6635:215:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2823, - "nodeType": "Block", - "src": "7124:89:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2815, - "name": "lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2206, - "src": "7134:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2816, - "name": "_lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2810, - "src": "7148:12:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7134:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2818, - "nodeType": "ExpressionStatement", - "src": "7134:26:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2820, - "name": "_lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2810, - "src": "7193:12:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2819, - "name": "LockSecondsChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2258, - "src": "7175:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7175:31:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2822, - "nodeType": "EmitStatement", - "src": "7170:36:16" - } - ] - }, - "documentation": { - "id": 2808, - "nodeType": "StructuredDocumentation", - "src": "6856:194:16", - "text": "@dev Changes the duration of the time lock for transactions.\n @param _lockSeconds Duration needed after a transaction is confirmed and before it becomes executable, in seconds." - }, - "functionSelector": "8c22d5d3", - "id": 2824, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2813, - "modifierName": { - "argumentTypes": null, - "id": 2812, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "7113:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7113:10:16" - } - ], - "name": "changeLockSeconds", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2810, - "mutability": "mutable", - "name": "_lockSeconds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2824, - "src": "7082:20:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7082:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7081:22:16" - }, - "returnParameters": { - "id": 2814, - "nodeType": "ParameterList", - "parameters": [], - "src": "7124:0:16" - }, - "scope": 3385, - "src": "7055:158:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2870, - "nodeType": "Block", - "src": "7690:343:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2843, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "7700:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2844, - "name": "transactionCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2283, - "src": "7716:16:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7700:32:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2846, - "nodeType": "ExpressionStatement", - "src": "7700:32:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2847, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "7742:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2849, - "indexExpression": { - "argumentTypes": null, - "id": 2848, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "7755:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7742:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2851, - "name": "destination", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2827, - "src": "7811:11:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2852, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "7843:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2853, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2831, - "src": "7868:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7896:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2850, - "name": "Transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2292, - "src": "7772:11:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Transaction_$2292_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.Transaction storage pointer)" - } - }, - "id": 2855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "destination", - "value", - "data", - "executed" - ], - "nodeType": "FunctionCall", - "src": "7772:140:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction memory" - } - }, - "src": "7742:170:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2857, - "nodeType": "ExpressionStatement", - "src": "7742:170:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2858, - "name": "transactionCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2283, - "src": "7922:16:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7942:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7922:21:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2861, - "nodeType": "ExpressionStatement", - "src": "7922:21:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2863, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "7969:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2862, - "name": "Submission", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2222, - "src": "7958:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7958:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2865, - "nodeType": "EmitStatement", - "src": "7953:30:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2867, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "8012:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2866, - "name": "confirmTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2939, - "src": "7993:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7993:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2869, - "nodeType": "ExpressionStatement", - "src": "7993:33:16" - } - ] - }, - "documentation": { - "id": 2825, - "nodeType": "StructuredDocumentation", - "src": "7219:266:16", - "text": "@dev Allows an owner to submit and confirm a transaction.\n @param destination Transaction target address.\n @param value Transaction ether value.\n @param data Transaction data payload.\n @return transactionId Returns transaction ID." - }, - "functionSelector": "c6427474", - "id": 2871, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2834, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7625:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7625:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2836, - "modifierName": { - "argumentTypes": null, - "id": 2833, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "7613:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7613:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2838, - "name": "destination", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2827, - "src": "7645:11:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2839, - "modifierName": { - "argumentTypes": null, - "id": 2837, - "name": "notNull", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "7637:7:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7637:20:16" - } - ], - "name": "submitTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2827, - "mutability": "mutable", - "name": "destination", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7526:19:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7526:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2829, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7555:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7555:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2831, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7578:19:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7578:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7516:87:16" - }, - "returnParameters": { - "id": 2842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2841, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2871, - "src": "7667:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7667:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7666:23:16" - }, - "scope": 3385, - "src": "7490:543:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2938, - "nodeType": "Block", - "src": "8337:463:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2889, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "8347:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 2893, - "indexExpression": { - "argumentTypes": null, - "id": 2890, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8361:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8347:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2894, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2891, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8376:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8376:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8347:40:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8390:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8347:47:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2897, - "nodeType": "ExpressionStatement", - "src": "8347:47:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8422:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8422:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2901, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8434:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2898, - "name": "Confirmation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "8409:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8409:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2903, - "nodeType": "EmitStatement", - "src": "8404:44:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2905, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8488:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2904, - "name": "isConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3203, - "src": "8476:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8476:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2907, - "name": "unlockTimes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "8518:11:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2909, - "indexExpression": { - "argumentTypes": null, - "id": 2908, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8530:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8518:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8548:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8518:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8476:73:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 2916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "8565:31:16", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2914, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8582:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2913, - "name": "isEmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3027, - "src": "8566:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8566:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8476:120:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2937, - "nodeType": "IfStatement", - "src": "8459:335:16", - "trueBody": { - "id": 2936, - "nodeType": "Block", - "src": "8607:187:16", - "statements": [ - { - "assignments": [ - 2919 - ], - "declarations": [ - { - "constant": false, - "id": 2919, - "mutability": "mutable", - "name": "unlockTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2936, - "src": "8621:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8621:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2924, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2920, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8642:5:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8642:15:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 2922, - "name": "lockSeconds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2206, - "src": "8660:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8642:29:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8621:50:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2925, - "name": "unlockTimes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "8685:11:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2927, - "indexExpression": { - "argumentTypes": null, - "id": 2926, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8697:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8685:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2928, - "name": "unlockTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "8714:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8685:39:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2930, - "nodeType": "ExpressionStatement", - "src": "8685:39:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2932, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8757:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2933, - "name": "unlockTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "8772:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2931, - "name": "UnlockTimeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "8743:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8743:40:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2935, - "nodeType": "EmitStatement", - "src": "8738:45:16" - } - ] - } - } - ] - }, - "documentation": { - "id": 2872, - "nodeType": "StructuredDocumentation", - "src": "8039:102:16", - "text": "@dev Allows an owner to confirm a transaction.\n @param transactionId Transaction ID." - }, - "functionSelector": "c01a8c84", - "id": 2939, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2877, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8232:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8232:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2879, - "modifierName": { - "argumentTypes": null, - "id": 2876, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "8220:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8220:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2881, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8270:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2882, - "modifierName": { - "argumentTypes": null, - "id": 2880, - "name": "transactionExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "8252:17:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8252:32:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 2884, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "8306:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2885, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8321:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8321:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2887, - "modifierName": { - "argumentTypes": null, - "id": 2883, - "name": "notConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "8293:12:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", - "typeString": "modifier (uint256,address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8293:39:16" - } - ], - "name": "confirmTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2874, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2939, - "src": "8174:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8174:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8173:23:16" - }, - "returnParameters": { - "id": 2888, - "nodeType": "ParameterList", - "parameters": [], - "src": "8337:0:16" - }, - "scope": 3385, - "src": "8146:654:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3026, - "nodeType": "Block", - "src": "8883:636:16", - "statements": [ - { - "assignments": [ - 2947 - ], - "declarations": [ - { - "constant": false, - "id": 2947, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3026, - "src": "8893:17:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2946, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8893:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2952, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2948, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "8913:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 2950, - "indexExpression": { - "argumentTypes": null, - "id": 2949, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2941, - "src": "8926:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8913:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 2951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 2289, - "src": "8913:32:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8893:52:16" - }, - { - "body": { - "id": 3022, - "nodeType": "Block", - "src": "9008:482:16", - "statements": [ - { - "assignments": [ - 2965 - ], - "declarations": [ - { - "constant": false, - "id": 2965, - "mutability": "mutable", - "name": "emergencyCall", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3022, - "src": "9022:34:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall" - }, - "typeName": { - "contractScope": null, - "id": 2964, - "name": "EmergencyCall", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2297, - "src": "9022:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2969, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2966, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "9059:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2968, - "indexExpression": { - "argumentTypes": null, - "id": 2967, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "9074:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9059:17:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9022:54:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2970, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9112:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9112:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2972, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9127:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "paramsBytesCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2296, - "src": "9127:30:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 2974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9127:34:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9112:49:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2977, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9181:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9181:11:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 2979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9196:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9181:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:85:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2982, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9217:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 2983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9217:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 2985, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9240:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9217:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2986, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9246:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2988, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9251:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9246:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9217:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:141:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 2998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2991, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9273:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 2992, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9273:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 2994, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9296:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9273:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2995, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9302:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2997, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9307:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9302:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9273:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:197:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 3007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3000, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9329:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9329:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 3003, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9352:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9329:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3004, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9358:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3006, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9363:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9358:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9329:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:253:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3009, - "name": "emergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "9385:13:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - }, - "id": 3010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 2294, - "src": "9385:22:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 3012, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9408:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9385:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3013, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "9414:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3015, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9419:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9414:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "9385:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9112:309:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3021, - "nodeType": "IfStatement", - "src": "9091:389:16", - "trueBody": { - "id": 3020, - "nodeType": "Block", - "src": "9436:44:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9461:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2945, - "id": 3019, - "nodeType": "Return", - "src": "9454:11:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2957, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "8976:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2958, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "8980:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8980:21:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8976:25:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3023, - "initializationExpression": { - "assignments": [ - 2954 - ], - "declarations": [ - { - "constant": false, - "id": 2954, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3023, - "src": "8961:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8961:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2956, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8973:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8961:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9003:3:16", - "subExpression": { - "argumentTypes": null, - "id": 2961, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "9003:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2963, - "nodeType": "ExpressionStatement", - "src": "9003:3:16" - }, - "nodeType": "ForStatement", - "src": "8956:534:16" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9507:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2945, - "id": 3025, - "nodeType": "Return", - "src": "9500:12:16" - } - ] - }, - "documentation": null, - "id": 3027, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEmergencyCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2941, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3027, - "src": "8831:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8831:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8830:23:16" - }, - "returnParameters": { - "id": 2945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2944, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3027, - "src": "8877:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2943, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8877:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8876:6:16" - }, - "scope": 3385, - "src": "8806:713:16", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3050, - "nodeType": "Block", - "src": "9620:207:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3043, - "name": "funcName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3029, - "src": "9732:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 3041, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "9715:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9715:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9715:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3040, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "9705:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9705:37:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3046, - "name": "_paramsBytesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3031, - "src": "9778:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3039, - "name": "EmergencyCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "9663:13:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EmergencyCall_$2297_storage_ptr_$", - "typeString": "type(struct MultiSigWalletWithTimelock.EmergencyCall storage pointer)" - } - }, - "id": 3047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "selector", - "paramsBytesCount" - ], - "nodeType": "FunctionCall", - "src": "9663:147:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_EmergencyCall_$2297_memory_ptr", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 3036, - "name": "emergencyCalls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "9630:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_EmergencyCall_$2297_storage_$dyn_storage", - "typeString": "struct MultiSigWalletWithTimelock.EmergencyCall storage ref[] storage ref" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9630:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_EmergencyCall_$2297_storage_$returns$__$", - "typeString": "function (struct MultiSigWalletWithTimelock.EmergencyCall storage ref)" - } - }, - "id": 3048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9630:190:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3049, - "nodeType": "ExpressionStatement", - "src": "9630:190:16" - } - ] - }, - "documentation": null, - "functionSelector": "f075fb90", - "id": 3051, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3034, - "modifierName": { - "argumentTypes": null, - "id": 3033, - "name": "onlyWallet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "9609:10:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9609:10:16" - } - ], - "name": "addEmergencyCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3029, - "mutability": "mutable", - "name": "funcName", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3051, - "src": "9551:22:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3028, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9551:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3031, - "mutability": "mutable", - "name": "_paramsBytesCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3051, - "src": "9575:25:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9575:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9550:51:16" - }, - "returnParameters": { - "id": 3035, - "nodeType": "ParameterList", - "parameters": [], - "src": "9620:0:16" - }, - "scope": 3385, - "src": "9525:302:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3084, - "nodeType": "Block", - "src": "10142:117:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3069, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "10152:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3073, - "indexExpression": { - "argumentTypes": null, - "id": 3070, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10166:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10152:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3074, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3071, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10181:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10181:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10152:40:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10195:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10152:48:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3077, - "nodeType": "ExpressionStatement", - "src": "10152:48:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3079, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10226:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10226:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3081, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10238:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3078, - "name": "Revocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "10215:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10215:37:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3083, - "nodeType": "EmitStatement", - "src": "10210:42:16" - } - ] - }, - "documentation": { - "id": 3052, - "nodeType": "StructuredDocumentation", - "src": "9833:120:16", - "text": "@dev Allows an owner to revoke a confirmation for a transaction.\n @param transactionId Transaction ID." - }, - "functionSelector": "20ea8d86", - "id": 3085, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10046:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10046:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3059, - "modifierName": { - "argumentTypes": null, - "id": 3056, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "10034:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10034:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 3061, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10076:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3062, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10091:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10091:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3064, - "modifierName": { - "argumentTypes": null, - "id": 3060, - "name": "confirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2384, - "src": "10066:9:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", - "typeString": "modifier (uint256,address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10066:36:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 3066, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "10123:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3067, - "modifierName": { - "argumentTypes": null, - "id": 3065, - "name": "notExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "10111:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10111:26:16" - } - ], - "name": "revokeConfirmation", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3054, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3085, - "src": "9986:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9986:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9985:23:16" - }, - "returnParameters": { - "id": 3068, - "nodeType": "ParameterList", - "parameters": [], - "src": "10142:0:16" - }, - "scope": 3385, - "src": "9958:301:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3154, - "nodeType": "Block", - "src": "10519:594:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3099, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10537:5:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10537:15:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3101, - "name": "unlockTimes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "10556:11:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3103, - "indexExpression": { - "argumentTypes": null, - "id": 3102, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10568:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10556:26:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10537:45:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5452414e53414354494f4e5f4e4545445f544f5f554e4c4f434b", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10584:28:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0e775be8eed223e88abd3716be242e9114c0d3a20959ded3addfe470831caccb", - "typeString": "literal_string \"TRANSACTION_NEED_TO_UNLOCK\"" - }, - "value": "TRANSACTION_NEED_TO_UNLOCK" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0e775be8eed223e88abd3716be242e9114c0d3a20959ded3addfe470831caccb", - "typeString": "literal_string \"TRANSACTION_NEED_TO_UNLOCK\"" - } - ], - "id": 3098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10529:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10529:84:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3107, - "nodeType": "ExpressionStatement", - "src": "10529:84:16" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3109, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10640:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3108, - "name": "isConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3203, - "src": "10628:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10628:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3153, - "nodeType": "IfStatement", - "src": "10624:483:16", - "trueBody": { - "id": 3152, - "nodeType": "Block", - "src": "10656:451:16", - "statements": [ - { - "assignments": [ - 3112 - ], - "declarations": [ - { - "constant": false, - "id": 3112, - "mutability": "mutable", - "name": "transaction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3152, - "src": "10670:31:16", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction" - }, - "typeName": { - "contractScope": null, - "id": 3111, - "name": "Transaction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2292, - "src": "10670:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3116, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3113, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "10704:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 3115, - "indexExpression": { - "argumentTypes": null, - "id": 3114, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10717:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10704:27:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10670:61:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3117, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10745:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "10745:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10768:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10745:27:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3122, - "nodeType": "ExpressionStatement", - "src": "10745:27:16" - }, - { - "assignments": [ - 3124, - null - ], - "declarations": [ - { - "constant": false, - "id": 3124, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3152, - "src": "10787:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10787:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 3134, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3131, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10877:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 2289, - "src": "10877:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3125, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10805:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "destination", - "nodeType": "MemberAccess", - "referencedDeclaration": 2285, - "src": "10805:23:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10805:28:16", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3128, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "10841:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2287, - "src": "10841:17:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "10805:54:16", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10805:102:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10786:121:16" - }, - { - "condition": { - "argumentTypes": null, - "id": 3135, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "10925:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3150, - "nodeType": "Block", - "src": "10982:115:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3141, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "11022:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3140, - "name": "ExecutionFailure", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2230, - "src": "11005:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11005:31:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3143, - "nodeType": "EmitStatement", - "src": "11000:36:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3144, - "name": "transaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "11054:11:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage_ptr", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage pointer" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "11054:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11077:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "11054:28:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3149, - "nodeType": "ExpressionStatement", - "src": "11054:28:16" - } - ] - }, - "id": 3151, - "nodeType": "IfStatement", - "src": "10921:176:16", - "trueBody": { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3137, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10949:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3136, - "name": "Execution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2226, - "src": "10939:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10939:24:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3139, - "nodeType": "EmitStatement", - "src": "10934:29:16" - } - } - ] - } - } - ] - }, - "documentation": { - "id": 3086, - "nodeType": "StructuredDocumentation", - "src": "10265:110:16", - "text": "@dev Allows anyone to execute a confirmed transaction.\n @param transactionId Transaction ID." - }, - "functionSelector": "ee22610b", - "id": 3155, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3091, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10468:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10468:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3093, - "modifierName": { - "argumentTypes": null, - "id": 3090, - "name": "ownerExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "10456:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10456:23:16" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 3095, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "10500:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3096, - "modifierName": { - "argumentTypes": null, - "id": 3094, - "name": "notExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "10488:11:16", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "10488:26:16" - } - ], - "name": "executeTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3088, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3155, - "src": "10408:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10408:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10407:23:16" - }, - "returnParameters": { - "id": 3097, - "nodeType": "ParameterList", - "parameters": [], - "src": "10519:0:16" - }, - "scope": 3385, - "src": "10380:733:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3202, - "nodeType": "Block", - "src": "11341:304:16", - "statements": [ - { - "assignments": [ - 3164 - ], - "declarations": [ - { - "constant": false, - "id": 3164, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3202, - "src": "11351:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11351:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3166, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11367:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11351:17:16" - }, - { - "body": { - "id": 3198, - "nodeType": "Block", - "src": "11423:193:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3178, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "11441:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3180, - "indexExpression": { - "argumentTypes": null, - "id": 3179, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "11455:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11441:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3184, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3181, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "11470:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3183, - "indexExpression": { - "argumentTypes": null, - "id": 3182, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3168, - "src": "11477:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11470:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11441:39:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3190, - "nodeType": "IfStatement", - "src": "11437:88:16", - "trueBody": { - "id": 3189, - "nodeType": "Block", - "src": "11482:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3185, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "11500:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11509:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11500:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3188, - "nodeType": "ExpressionStatement", - "src": "11500:10:16" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3191, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "11543:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3192, - "name": "required", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "11552:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11543:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3197, - "nodeType": "IfStatement", - "src": "11539:67:16", - "trueBody": { - "id": 3196, - "nodeType": "Block", - "src": "11562:44:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11587:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3162, - "id": 3195, - "nodeType": "Return", - "src": "11580:11:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3171, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3168, - "src": "11399:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3172, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "11403:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11403:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11399:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3199, - "initializationExpression": { - "assignments": [ - 3168 - ], - "declarations": [ - { - "constant": false, - "id": 3168, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3199, - "src": "11384:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11384:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3170, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11396:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11384:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11418:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3175, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3168, - "src": "11418:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3177, - "nodeType": "ExpressionStatement", - "src": "11418:3:16" - }, - "nodeType": "ForStatement", - "src": "11379:237:16" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11633:5:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 3162, - "id": 3201, - "nodeType": "Return", - "src": "11626:12:16" - } - ] - }, - "documentation": { - "id": 3156, - "nodeType": "StructuredDocumentation", - "src": "11119:146:16", - "text": "@dev Returns the confirmation status of a transaction.\n @param transactionId Transaction ID.\n @return Confirmation status." - }, - "functionSelector": "784547a7", - "id": 3203, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isConfirmed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3159, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3158, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3203, - "src": "11291:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11291:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11290:23:16" - }, - "returnParameters": { - "id": 3162, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3161, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3203, - "src": "11335:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3160, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11335:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11334:6:16" - }, - "scope": 3385, - "src": "11270:375:16", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3237, - "nodeType": "Block", - "src": "11934:172:16", - "statements": [ - { - "body": { - "id": 3235, - "nodeType": "Block", - "src": "11988:112:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3222, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "12006:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3224, - "indexExpression": { - "argumentTypes": null, - "id": 3223, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "12020:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12006:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3228, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3225, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "12035:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3227, - "indexExpression": { - "argumentTypes": null, - "id": 3226, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "12042:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12035:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12006:39:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3234, - "nodeType": "IfStatement", - "src": "12002:88:16", - "trueBody": { - "id": 3233, - "nodeType": "Block", - "src": "12047:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3229, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "12065:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12074:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12065:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3232, - "nodeType": "ExpressionStatement", - "src": "12065:10:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3215, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "11964:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3216, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "11968:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11968:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11964:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3236, - "initializationExpression": { - "assignments": [ - 3212 - ], - "declarations": [ - { - "constant": false, - "id": 3212, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3236, - "src": "11949:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11949:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3214, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11961:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11949:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11983:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3219, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "11983:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3221, - "nodeType": "ExpressionStatement", - "src": "11983:3:16" - }, - "nodeType": "ForStatement", - "src": "11944:156:16" - } - ] - }, - "documentation": { - "id": 3204, - "nodeType": "StructuredDocumentation", - "src": "11682:156:16", - "text": "@dev Returns number of confirmations of a transaction.\n @param transactionId Transaction ID.\n @return count Number of confirmations." - }, - "functionSelector": "8b51d13f", - "id": 3238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getConfirmationCount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3206, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3238, - "src": "11873:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11873:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11872:23:16" - }, - "returnParameters": { - "id": 3210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3209, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3238, - "src": "11919:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11918:15:16" - }, - "scope": 3385, - "src": "11843:263:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3282, - "nodeType": "Block", - "src": "12503:216:16", - "statements": [ - { - "body": { - "id": 3280, - "nodeType": "Block", - "src": "12560:153:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3258, - "name": "pending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3241, - "src": "12579:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 3263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12590:25:16", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3259, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "12591:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 3261, - "indexExpression": { - "argumentTypes": null, - "id": 3260, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12604:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12591:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 3262, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "12591:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12579:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12578:38:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3266, - "name": "executed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3243, - "src": "12621:8:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3267, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2262, - "src": "12633:12:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$2292_storage_$", - "typeString": "mapping(uint256 => struct MultiSigWalletWithTimelock.Transaction storage ref)" - } - }, - "id": 3269, - "indexExpression": { - "argumentTypes": null, - "id": 3268, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12646:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12633:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$2292_storage", - "typeString": "struct MultiSigWalletWithTimelock.Transaction storage ref" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2291, - "src": "12633:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12621:36:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3272, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12620:38:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12578:80:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3279, - "nodeType": "IfStatement", - "src": "12574:129:16", - "trueBody": { - "id": 3278, - "nodeType": "Block", - "src": "12660:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3274, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "12678:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12687:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12678:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3277, - "nodeType": "ExpressionStatement", - "src": "12678:10:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12533:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3253, - "name": "transactionCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2283, - "src": "12537:16:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12533:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3281, - "initializationExpression": { - "assignments": [ - 3249 - ], - "declarations": [ - { - "constant": false, - "id": 3249, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3281, - "src": "12518:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12518:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3251, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12530:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12518:13:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12555:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3255, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3249, - "src": "12555:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3257, - "nodeType": "ExpressionStatement", - "src": "12555:3:16" - }, - "nodeType": "ForStatement", - "src": "12513:200:16" - } - ] - }, - "documentation": { - "id": 3239, - "nodeType": "StructuredDocumentation", - "src": "12112:262:16", - "text": "@dev Returns total number of transactions after filers are applied.\n @param pending Include pending transactions.\n @param executed Include executed transactions.\n @return count Total number of transactions after filters are applied." - }, - "functionSelector": "54741525", - "id": 3283, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTransactionCount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3241, - "mutability": "mutable", - "name": "pending", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3283, - "src": "12408:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3240, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12408:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3243, - "mutability": "mutable", - "name": "executed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3283, - "src": "12422:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12422:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12407:29:16" - }, - "returnParameters": { - "id": 3247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3246, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3283, - "src": "12484:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12484:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12483:15:16" - }, - "scope": 3385, - "src": "12379:340:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3292, - "nodeType": "Block", - "src": "12872:30:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3290, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "12889:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 3289, - "id": 3291, - "nodeType": "Return", - "src": "12882:13:16" - } - ] - }, - "documentation": { - "id": 3284, - "nodeType": "StructuredDocumentation", - "src": "12725:80:16", - "text": "@dev Returns list of owners.\n @return List of owner addresses." - }, - "functionSelector": "a0e67e2b", - "id": 3293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOwners", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3285, - "nodeType": "ParameterList", - "parameters": [], - "src": "12828:2:16" - }, - "returnParameters": { - "id": 3289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3288, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3293, - "src": "12854:16:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12854:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3287, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12854:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12853:18:16" - }, - "scope": 3385, - "src": "12810:92:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3383, - "nodeType": "Block", - "src": "13235:491:16", - "statements": [ - { - "assignments": [ - 3306 - ], - "declarations": [ - { - "constant": false, - "id": 3306, - "mutability": "mutable", - "name": "confirmationsTemp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "13245:34:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13245:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3305, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13245:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3313, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3310, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13296:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13296:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "13282:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 3307, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13286:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3308, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13286:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 3312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13282:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13245:65:16" - }, - { - "assignments": [ - 3315 - ], - "declarations": [ - { - "constant": false, - "id": 3315, - "mutability": "mutable", - "name": "count", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "13320:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13320:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3317, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13336:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13320:17:16" - }, - { - "assignments": [ - 3319 - ], - "declarations": [ - { - "constant": false, - "id": 3319, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "13347:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13347:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3320, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "13347:9:16" - }, - { - "body": { - "id": 3353, - "nodeType": "Block", - "src": "13403:166:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3332, - "name": "confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "13421:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(uint256 => mapping(address => bool))" - } - }, - "id": 3334, - "indexExpression": { - "argumentTypes": null, - "id": 3333, - "name": "transactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3296, - "src": "13435:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13421:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3338, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3335, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13450:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3337, - "indexExpression": { - "argumentTypes": null, - "id": 3336, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13457:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13450:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13421:39:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3352, - "nodeType": "IfStatement", - "src": "13417:142:16", - "trueBody": { - "id": 3351, - "nodeType": "Block", - "src": "13462:97:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3339, - "name": "confirmationsTemp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3306, - "src": "13480:17:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3341, - "indexExpression": { - "argumentTypes": null, - "id": 3340, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13498:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13480:24:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3342, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13507:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3344, - "indexExpression": { - "argumentTypes": null, - "id": 3343, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13514:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13507:9:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13480:36:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3346, - "nodeType": "ExpressionStatement", - "src": "13480:36:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3347, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13534:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13543:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13534:10:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3350, - "nodeType": "ExpressionStatement", - "src": "13534:10:16" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3325, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13379:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3326, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2279, - "src": "13383:6:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13383:13:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13379:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3354, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 3323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3321, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13372:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 3322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13376:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13372:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3324, - "nodeType": "ExpressionStatement", - "src": "13372:5:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13398:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3329, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13398:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3331, - "nodeType": "ExpressionStatement", - "src": "13398:3:16" - }, - "nodeType": "ForStatement", - "src": "13367:202:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3355, - "name": "_confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3300, - "src": "13579:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3359, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13610:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "13596:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 3356, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13600:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3357, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13600:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 3360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13596:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13579:37:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3362, - "nodeType": "ExpressionStatement", - "src": "13579:37:16" - }, - { - "body": { - "id": 3381, - "nodeType": "Block", - "src": "13655:65:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3373, - "name": "_confirmations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3300, - "src": "13669:14:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3375, - "indexExpression": { - "argumentTypes": null, - "id": 3374, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13684:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13669:17:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3376, - "name": "confirmationsTemp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3306, - "src": "13689:17:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3378, - "indexExpression": { - "argumentTypes": null, - "id": 3377, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13707:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13689:20:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13669:40:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3380, - "nodeType": "ExpressionStatement", - "src": "13669:40:16" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3367, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13639:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3368, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3315, - "src": "13643:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13639:9:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3382, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 3365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3363, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13632:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 3364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13636:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13632:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3366, - "nodeType": "ExpressionStatement", - "src": "13632:5:16" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13650:3:16", - "subExpression": { - "argumentTypes": null, - "id": 3370, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13650:1:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3372, - "nodeType": "ExpressionStatement", - "src": "13650:3:16" - }, - "nodeType": "ForStatement", - "src": "13627:93:16" - } - ] - }, - "documentation": { - "id": 3294, - "nodeType": "StructuredDocumentation", - "src": "12908:189:16", - "text": "@dev Returns array with owner addresses, which confirmed transaction.\n @param transactionId Transaction ID.\n @return _confirmations Returns array of owner addresses." - }, - "functionSelector": "b5dc40c3", - "id": 3384, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getConfirmations", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3296, - "mutability": "mutable", - "name": "transactionId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3384, - "src": "13128:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13128:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13127:23:16" - }, - "returnParameters": { - "id": 3301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3300, - "mutability": "mutable", - "name": "_confirmations", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3384, - "src": "13198:31:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13198:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "13198:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13197:33:16" - }, - "scope": 3385, - "src": "13102:624:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3386, - "src": "204:13524:16" - } - ], - "src": "145:13584:16" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.513Z", - "devdoc": { - "methods": { - "addOwner(address)": { - "details": "Allows to add a new owner. Transaction has to be sent by wallet.", - "params": { - "owner": "Address of new owner." - } - }, - "changeLockSeconds(uint256)": { - "details": "Changes the duration of the time lock for transactions.", - "params": { - "_lockSeconds": "Duration needed after a transaction is confirmed and before it becomes executable, in seconds." - } - }, - "changeRequirement(uint256)": { - "details": "Allows to change the number of required confirmations. Transaction has to be sent by wallet.", - "params": { - "_required": "Number of required confirmations." - } - }, - "confirmTransaction(uint256)": { - "details": "Allows an owner to confirm a transaction.", - "params": { - "transactionId": "Transaction ID." - } - }, - "constructor": { - "details": "Contract constructor sets initial owners and required number of confirmations.", - "params": { - "_owners": "List of initial owners.", - "_required": "Number of required confirmations." - } - }, - "executeTransaction(uint256)": { - "details": "Allows anyone to execute a confirmed transaction.", - "params": { - "transactionId": "Transaction ID." - } - }, - "getConfirmationCount(uint256)": { - "details": "Returns number of confirmations of a transaction.", - "params": { - "transactionId": "Transaction ID." - }, - "returns": { - "count": "Number of confirmations." - } - }, - "getConfirmations(uint256)": { - "details": "Returns array with owner addresses, which confirmed transaction.", - "params": { - "transactionId": "Transaction ID." - }, - "returns": { - "_confirmations": "Returns array of owner addresses." - } - }, - "getOwners()": { - "details": "Returns list of owners.", - "returns": { - "_0": "List of owner addresses." - } - }, - "getTransactionCount(bool,bool)": { - "details": "Returns total number of transactions after filers are applied.", - "params": { - "executed": "Include executed transactions.", - "pending": "Include pending transactions." - }, - "returns": { - "count": "Total number of transactions after filters are applied." - } - }, - "isConfirmed(uint256)": { - "details": "Returns the confirmation status of a transaction.", - "params": { - "transactionId": "Transaction ID." - }, - "returns": { - "_0": "Confirmation status." - } - }, - "removeOwner(address)": { - "details": "Allows to remove an owner. Transaction has to be sent by wallet.", - "params": { - "owner": "Address of owner." - } - }, - "replaceOwner(address,address)": { - "details": "Allows to replace an owner with a new owner. Transaction has to be sent by wallet.", - "params": { - "owner": "Address of new owner." - } - }, - "revokeConfirmation(uint256)": { - "details": "Allows an owner to revoke a confirmation for a transaction.", - "params": { - "transactionId": "Transaction ID." - } - }, - "submitTransaction(address,uint256,bytes)": { - "details": "Allows an owner to submit and confirm a transaction.", - "params": { - "data": "Transaction data payload.", - "destination": "Transaction target address.", - "value": "Transaction ether value." - }, - "returns": { - "transactionId": "Returns transaction ID." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/NaiveOracle.json b/build-v1/contracts/NaiveOracle.json deleted file mode 100644 index 478faa4..0000000 --- a/build-v1/contracts/NaiveOracle.json +++ /dev/null @@ -1,835 +0,0 @@ -{ - "contractName": "NaiveOracle", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/NaiveOracle.sol\":\"NaiveOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/NaiveOracle.sol\":{\"keccak256\":\"0x32518fb42af0c68be8e7473f8afe6f6528e3ae7dfd232ba45d64f44d4bcaaf3e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e921f3e064f4c641a93a266d398434a9956b8a93f92d3465117fc30051424077\",\"dweb:/ipfs/QmPCsEvxRdXh1wpAdhKdmq5Qk4i1JKoQbxt6g2p89iBHw1\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361039a806100696000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638456db151161005b5780638456db15146100bf57806391b7f5ed146100c757806398d5fdca146100da578063f2fde38b146100e25761007d565b806316048bc4146100825780634e71e0c8146100a05780637ff9b596146100aa575b600080fd5b61008a6100f5565b60405161009791906102d6565b60405180910390f35b6100a8610104565b005b6100b261019b565b604051610097919061035b565b61008a6101a1565b6100a86100d53660046102be565b6101b0565b6100b26101df565b6100a86100f0366004610290565b6101e5565b6000546001600160a01b031681565b6001546001600160a01b031633146101375760405162461bcd60e51b815260040161012e906102ea565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60025481565b6001546001600160a01b031681565b6000546001600160a01b031633146101da5760405162461bcd60e51b815260040161012e90610338565b600255565b60025490565b6000546001600160a01b0316331461020f5760405162461bcd60e51b815260040161012e90610338565b6001600160a01b0381166102355760405162461bcd60e51b815260040161012e90610311565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156102a1578081fd5b81356001600160a01b03811681146102b7578182fd5b9392505050565b6000602082840312156102cf578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b9081526020019056fea2646970667358221220e2351ef8fdb9b0d64fa4d0ceb202d1c149b0081b555f4c9e3d8b25d28074b54664736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638456db151161005b5780638456db15146100bf57806391b7f5ed146100c757806398d5fdca146100da578063f2fde38b146100e25761007d565b806316048bc4146100825780634e71e0c8146100a05780637ff9b596146100aa575b600080fd5b61008a6100f5565b60405161009791906102d6565b60405180910390f35b6100a8610104565b005b6100b261019b565b604051610097919061035b565b61008a6101a1565b6100a86100d53660046102be565b6101b0565b6100b26101df565b6100a86100f0366004610290565b6101e5565b6000546001600160a01b031681565b6001546001600160a01b031633146101375760405162461bcd60e51b815260040161012e906102ea565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60025481565b6001546001600160a01b031681565b6000546001600160a01b031633146101da5760405162461bcd60e51b815260040161012e90610338565b600255565b60025490565b6000546001600160a01b0316331461020f5760405162461bcd60e51b815260040161012e90610338565b6001600160a01b0381166102355760405162461bcd60e51b815260040161012e90610311565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000602082840312156102a1578081fd5b81356001600160a01b03811681146102b7578182fd5b9392505050565b6000602082840312156102cf578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b9081526020019056fea2646970667358221220e2351ef8fdb9b0d64fa4d0ceb202d1c149b0081b555f4c9e3d8b25d28074b54664736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "206:257:17:-:0;;;;;;;;;;;;-1:-1:-1;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;;757;792:41;;757:7;;792:41;206:257:17;;;;;;", - "deployedSourceMap": "206:257:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;251:22:38;;;:::i;:::-;;;;;;;;;;;;;;;;1072:225;;;:::i;:::-;;244:25:17;;;:::i;:::-;;;;;;;;279:26:38;;;:::i;276:93:17:-;;;;;;;;;:::i;375:86::-;;;:::i;846:220:38:-;;;;;;;;;:::i;251:22::-;;;-1:-1:-1;;;;;251:22:38;;:::o;1072:225::-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;;1235:21:38;;;-1:-1:-1;;;;;1245:11:38;;1235:21;;;;1266:24;;;1072:225::o;244:25:17:-;;;;:::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;276:93:17:-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;341:10:17::1;:21:::0;276:93::o;375:86::-;444:10;;375:86;:::o;846:220:38:-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;;-1:-1:-1::0;;;920:48:38::1;;;;;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;279:241:-1:-;;383:2;371:9;362:7;358:23;354:32;351:2;;;-1:-1;;389:12;351:2;72:20;;-1:-1;;;;;4035:54;;4239:35;;4229:2;;-1:-1;;4278:12;4229:2;441:63;345:175;-1:-1;;;345:175;527:241;;631:2;619:9;610:7;606:23;602:32;599:2;;;-1:-1;;637:12;599:2;-1:-1;209:20;;593:175;-1:-1;593:175;1976:222;-1:-1;;;;;4035:54;;;;846:37;;2103:2;2088:18;;2074:124;2205:416;2405:2;2419:47;;;1120:2;2390:18;;;3807:19;-1:-1;;;3847:14;;;1136:36;1191:12;;;2376:245;2628:416;2828:2;2842:47;;;1442:2;2813:18;;;3807:19;-1:-1;;;3847:14;;;1458:36;1513:12;;;2799:245;3051:416;3251:2;3265:47;;;1764:1;3236:18;;;3807:19;-1:-1;;;3847:14;;;1779:32;1830:12;;;3222:245;3474:222;1927:37;;;3601:2;3586:18;;3572:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Ownable} from \"../lib/Ownable.sol\";\n\n\n// Oracle only for test\ncontract NaiveOracle is Ownable {\n uint256 public tokenPrice;\n\n function setPrice(uint256 newPrice) external onlyOwner {\n tokenPrice = newPrice;\n }\n\n function getPrice() external view returns (uint256) {\n return tokenPrice;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/NaiveOracle.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/NaiveOracle.sol", - "exportedSymbols": { - "NaiveOracle": [ - 3415 - ] - }, - "id": 3416, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3387, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:17" - }, - { - "id": 3388, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:17" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 3390, - "nodeType": "ImportDirective", - "scope": 3416, - "sourceUnit": 11272, - "src": "136:43:17", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3389, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:17", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3391, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "230:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 3392, - "nodeType": "InheritanceSpecifier", - "src": "230:7:17" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3415, - "linearizedBaseContracts": [ - 3415, - 11271 - ], - "name": "NaiveOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 3394, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3415, - "src": "244:25:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3405, - "nodeType": "Block", - "src": "331:38:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3401, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "341:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3402, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "354:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "341:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3404, - "nodeType": "ExpressionStatement", - "src": "341:21:17" - } - ] - }, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 3406, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3399, - "modifierName": { - "argumentTypes": null, - "id": 3398, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "321:9:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "321:9:17" - } - ], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3396, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "294:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "294:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:18:17" - }, - "returnParameters": { - "id": 3400, - "nodeType": "ParameterList", - "parameters": [], - "src": "331:0:17" - }, - "scope": 3415, - "src": "276:93:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3413, - "nodeType": "Block", - "src": "427:34:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3411, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "444:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3410, - "id": 3412, - "nodeType": "Return", - "src": "437:17:17" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 3414, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3407, - "nodeType": "ParameterList", - "parameters": [], - "src": "392:2:17" - }, - "returnParameters": { - "id": 3410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3409, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3414, - "src": "418:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "418:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "417:9:17" - }, - "scope": 3415, - "src": "375:86:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3416, - "src": "206:257:17" - } - ], - "src": "78:386:17" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/NaiveOracle.sol", - "exportedSymbols": { - "NaiveOracle": [ - 3415 - ] - }, - "id": 3416, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3387, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:17" - }, - { - "id": 3388, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:17" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 3390, - "nodeType": "ImportDirective", - "scope": 3416, - "sourceUnit": 11272, - "src": "136:43:17", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3389, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:17", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3391, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11271, - "src": "230:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$11271", - "typeString": "contract Ownable" - } - }, - "id": 3392, - "nodeType": "InheritanceSpecifier", - "src": "230:7:17" - } - ], - "contractDependencies": [ - 11271 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3415, - "linearizedBaseContracts": [ - 3415, - 11271 - ], - "name": "NaiveOracle", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7ff9b596", - "id": 3394, - "mutability": "mutable", - "name": "tokenPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3415, - "src": "244:25:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3405, - "nodeType": "Block", - "src": "331:38:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3401, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "341:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3402, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "354:8:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "341:21:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3404, - "nodeType": "ExpressionStatement", - "src": "341:21:17" - } - ] - }, - "documentation": null, - "functionSelector": "91b7f5ed", - "id": 3406, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3399, - "modifierName": { - "argumentTypes": null, - "id": 3398, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "321:9:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "321:9:17" - } - ], - "name": "setPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3396, - "mutability": "mutable", - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "294:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "294:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:18:17" - }, - "returnParameters": { - "id": 3400, - "nodeType": "ParameterList", - "parameters": [], - "src": "331:0:17" - }, - "scope": 3415, - "src": "276:93:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3413, - "nodeType": "Block", - "src": "427:34:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3411, - "name": "tokenPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "444:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3410, - "id": 3412, - "nodeType": "Return", - "src": "437:17:17" - } - ] - }, - "documentation": null, - "functionSelector": "98d5fdca", - "id": 3414, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3407, - "nodeType": "ParameterList", - "parameters": [], - "src": "392:2:17" - }, - "returnParameters": { - "id": 3410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3409, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3414, - "src": "418:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "418:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "417:9:17" - }, - "scope": 3415, - "src": "375:86:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3416, - "src": "206:257:17" - } - ], - "src": "78:386:17" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.522Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/Ownable.json b/build-v1/contracts/Ownable.json deleted file mode 100644 index 8a2ea71..0000000 --- a/build-v1/contracts/Ownable.json +++ /dev/null @@ -1,2895 +0,0 @@ -{ - "contractName": "Ownable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_NEW_OWNER_", - "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": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{},\"notice\":\"Ownership related functions\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "sourceMap": "", - "deployedSourceMap": "", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n/**\n * @title Ownable\n * @author DODO Breeder\n *\n * @notice Ownership related functions\n */\ncontract Ownable {\n address public _OWNER_;\n address public _NEW_OWNER_;\n\n // ============ Events ============\n\n event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n // ============ Modifiers ============\n\n modifier onlyOwner() {\n require(msg.sender == _OWNER_, \"NOT_OWNER\");\n _;\n }\n\n // ============ Functions ============\n\n constructor() internal {\n _OWNER_ = msg.sender;\n emit OwnershipTransferred(address(0), _OWNER_);\n }\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"INVALID_OWNER\");\n emit OwnershipTransferPrepared(_OWNER_, newOwner);\n _NEW_OWNER_ = newOwner;\n }\n\n function claimOwnership() external {\n require(msg.sender == _NEW_OWNER_, \"INVALID_CLAIM\");\n emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);\n _OWNER_ = _NEW_OWNER_;\n _NEW_OWNER_ = address(0);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 11271 - ] - }, - "id": 11272, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11168, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:38" - }, - { - "id": 11169, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:38" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 11170, - "nodeType": "StructuredDocumentation", - "src": "136:91:38", - "text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions" - }, - "fullyImplemented": true, - "id": 11271, - "linearizedBaseContracts": [ - 11271 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 11172, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11271, - "src": "251:22:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "251:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8456db15", - "id": 11174, - "mutability": "mutable", - "name": "_NEW_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11271, - "src": "279:26:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "279:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 11180, - "name": "OwnershipTransferPrepared", - "nodeType": "EventDefinition", - "parameters": { - "id": 11179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11176, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11180, - "src": "385:29:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "385:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11178, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11180, - "src": "416:24:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "416:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "384:57:38" - }, - "src": "353:89:38" - }, - { - "anonymous": false, - "documentation": null, - "id": 11186, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 11185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11182, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11186, - "src": "475:29:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "475:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11184, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11186, - "src": "506:24:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "506:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "474:57:38" - }, - "src": "448:84:38" - }, - { - "body": { - "id": 11197, - "nodeType": "Block", - "src": "603:71:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11189, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "621:3:38", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "621:10:38", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11191, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "635:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:21:38", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 11193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "644:11:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 11188, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "613:7:38", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "613:43:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11195, - "nodeType": "ExpressionStatement", - "src": "613:43:38" - }, - { - "id": 11196, - "nodeType": "PlaceholderStatement", - "src": "666:1:38" - } - ] - }, - "documentation": null, - "id": 11198, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11187, - "nodeType": "ParameterList", - "parameters": [], - "src": "600:2:38" - }, - "src": "582:92:38", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11214, - "nodeType": "Block", - "src": "747:93:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11201, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "757:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "767:3:38", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "767:10:38", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "757:20:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11205, - "nodeType": "ExpressionStatement", - "src": "757:20:38" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "821:1:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "813:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "813:7:38", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "813:10:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 11211, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "825:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11206, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11186, - "src": "792:20:38", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "792:41:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11213, - "nodeType": "EmitStatement", - "src": "787:46:38" - } - ] - }, - "documentation": null, - "id": 11215, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11199, - "nodeType": "ParameterList", - "parameters": [], - "src": "735:2:38" - }, - "returnParameters": { - "id": 11200, - "nodeType": "ParameterList", - "parameters": [], - "src": "747:0:38" - }, - "scope": 11271, - "src": "724:116:38", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11241, - "nodeType": "Block", - "src": "910:156:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11223, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11217, - "src": "928:8:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "948:1:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "940:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "940:7:38", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:10:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "928:22:38", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 11229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:15:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 11222, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "920:7:38", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "920:48:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11231, - "nodeType": "ExpressionStatement", - "src": "920:48:38" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11233, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1009:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11234, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11217, - "src": "1018:8:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11232, - "name": "OwnershipTransferPrepared", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "983:25:38", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "983:44:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11236, - "nodeType": "EmitStatement", - "src": "978:49:38" - }, - { - "expression": { - "argumentTypes": null, - "id": 11239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11237, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1037:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11238, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11217, - "src": "1051:8:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1037:22:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11240, - "nodeType": "ExpressionStatement", - "src": "1037:22:38" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 11242, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11220, - "modifierName": { - "argumentTypes": null, - "id": 11219, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "900:9:38", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "900:9:38" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11217, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11242, - "src": "873:16:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "873:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "872:18:38" - }, - "returnParameters": { - "id": 11221, - "nodeType": "ParameterList", - "parameters": [], - "src": "910:0:38" - }, - "scope": 11271, - "src": "846:220:38", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 11269, - "nodeType": "Block", - "src": "1107:190:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11246, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1125:3:38", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1125:10:38", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11248, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1139:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1125:25:38", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f434c41494d", - "id": 11250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1152:15:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - }, - "value": "INVALID_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - } - ], - "id": 11245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1117:7:38", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1117:51:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11252, - "nodeType": "ExpressionStatement", - "src": "1117:51:38" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11254, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1204:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11255, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1213:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11253, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11186, - "src": "1183:20:38", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1183:42:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11257, - "nodeType": "EmitStatement", - "src": "1178:47:38" - }, - { - "expression": { - "argumentTypes": null, - "id": 11260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11258, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1235:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11259, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1245:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1235:21:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11261, - "nodeType": "ExpressionStatement", - "src": "1235:21:38" - }, - { - "expression": { - "argumentTypes": null, - "id": 11267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11262, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1266:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1288:1:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1280:7:38", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1280:10:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1266:24:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11268, - "nodeType": "ExpressionStatement", - "src": "1266:24:38" - } - ] - }, - "documentation": null, - "functionSelector": "4e71e0c8", - "id": 11270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11243, - "nodeType": "ParameterList", - "parameters": [], - "src": "1095:2:38" - }, - "returnParameters": { - "id": 11244, - "nodeType": "ParameterList", - "parameters": [], - "src": "1107:0:38" - }, - "scope": 11271, - "src": "1072:225:38", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11272, - "src": "228:1071:38" - } - ], - "src": "78:1222:38" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 11271 - ] - }, - "id": 11272, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11168, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:38" - }, - { - "id": 11169, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:38" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 11170, - "nodeType": "StructuredDocumentation", - "src": "136:91:38", - "text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions" - }, - "fullyImplemented": true, - "id": 11271, - "linearizedBaseContracts": [ - 11271 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "16048bc4", - "id": 11172, - "mutability": "mutable", - "name": "_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11271, - "src": "251:22:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "251:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8456db15", - "id": 11174, - "mutability": "mutable", - "name": "_NEW_OWNER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11271, - "src": "279:26:38", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "279:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 11180, - "name": "OwnershipTransferPrepared", - "nodeType": "EventDefinition", - "parameters": { - "id": 11179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11176, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11180, - "src": "385:29:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "385:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11178, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11180, - "src": "416:24:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "416:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "384:57:38" - }, - "src": "353:89:38" - }, - { - "anonymous": false, - "documentation": null, - "id": 11186, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 11185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11182, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11186, - "src": "475:29:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "475:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11184, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11186, - "src": "506:24:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "506:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "474:57:38" - }, - "src": "448:84:38" - }, - { - "body": { - "id": 11197, - "nodeType": "Block", - "src": "603:71:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11189, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "621:3:38", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "621:10:38", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11191, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "635:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "621:21:38", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f4f574e4552", - "id": 11193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "644:11:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - }, - "value": "NOT_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2", - "typeString": "literal_string \"NOT_OWNER\"" - } - ], - "id": 11188, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "613:7:38", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "613:43:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11195, - "nodeType": "ExpressionStatement", - "src": "613:43:38" - }, - { - "id": 11196, - "nodeType": "PlaceholderStatement", - "src": "666:1:38" - } - ] - }, - "documentation": null, - "id": 11198, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11187, - "nodeType": "ParameterList", - "parameters": [], - "src": "600:2:38" - }, - "src": "582:92:38", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11214, - "nodeType": "Block", - "src": "747:93:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11201, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "757:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "767:3:38", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "767:10:38", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "757:20:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11205, - "nodeType": "ExpressionStatement", - "src": "757:20:38" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "821:1:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "813:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "813:7:38", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "813:10:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 11211, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "825:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11206, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11186, - "src": "792:20:38", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "792:41:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11213, - "nodeType": "EmitStatement", - "src": "787:46:38" - } - ] - }, - "documentation": null, - "id": 11215, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11199, - "nodeType": "ParameterList", - "parameters": [], - "src": "735:2:38" - }, - "returnParameters": { - "id": 11200, - "nodeType": "ParameterList", - "parameters": [], - "src": "747:0:38" - }, - "scope": 11271, - "src": "724:116:38", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11241, - "nodeType": "Block", - "src": "910:156:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11223, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11217, - "src": "928:8:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "948:1:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "940:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "940:7:38", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:10:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "928:22:38", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f4f574e4552", - "id": 11229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:15:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - }, - "value": "INVALID_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886", - "typeString": "literal_string \"INVALID_OWNER\"" - } - ], - "id": 11222, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "920:7:38", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "920:48:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11231, - "nodeType": "ExpressionStatement", - "src": "920:48:38" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11233, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1009:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11234, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11217, - "src": "1018:8:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11232, - "name": "OwnershipTransferPrepared", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "983:25:38", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "983:44:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11236, - "nodeType": "EmitStatement", - "src": "978:49:38" - }, - { - "expression": { - "argumentTypes": null, - "id": 11239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11237, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1037:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11238, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11217, - "src": "1051:8:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1037:22:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11240, - "nodeType": "ExpressionStatement", - "src": "1037:22:38" - } - ] - }, - "documentation": null, - "functionSelector": "f2fde38b", - "id": 11242, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 11220, - "modifierName": { - "argumentTypes": null, - "id": 11219, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11198, - "src": "900:9:38", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "900:9:38" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11217, - "mutability": "mutable", - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11242, - "src": "873:16:38", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "873:7:38", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "872:18:38" - }, - "returnParameters": { - "id": 11221, - "nodeType": "ParameterList", - "parameters": [], - "src": "910:0:38" - }, - "scope": 11271, - "src": "846:220:38", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 11269, - "nodeType": "Block", - "src": "1107:190:38", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11246, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1125:3:38", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 11247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1125:10:38", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11248, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1139:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1125:25:38", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "494e56414c49445f434c41494d", - "id": 11250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1152:15:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - }, - "value": "INVALID_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b", - "typeString": "literal_string \"INVALID_CLAIM\"" - } - ], - "id": 11245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1117:7:38", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1117:51:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11252, - "nodeType": "ExpressionStatement", - "src": "1117:51:38" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11254, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1204:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11255, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1213:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11253, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11186, - "src": "1183:20:38", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 11256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1183:42:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11257, - "nodeType": "EmitStatement", - "src": "1178:47:38" - }, - { - "expression": { - "argumentTypes": null, - "id": 11260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11258, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11172, - "src": "1235:7:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11259, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1245:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1235:21:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11261, - "nodeType": "ExpressionStatement", - "src": "1235:21:38" - }, - { - "expression": { - "argumentTypes": null, - "id": 11267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11262, - "name": "_NEW_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11174, - "src": "1266:11:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 11265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1288:1:38", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1280:7:38", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1280:7:38", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1280:10:38", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1266:24:38", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11268, - "nodeType": "ExpressionStatement", - "src": "1266:24:38" - } - ] - }, - "documentation": null, - "functionSelector": "4e71e0c8", - "id": 11270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11243, - "nodeType": "ParameterList", - "parameters": [], - "src": "1095:2:38" - }, - "returnParameters": { - "id": 11244, - "nodeType": "ParameterList", - "parameters": [], - "src": "1107:0:38" - }, - "scope": 11271, - "src": "1072:225:38", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11272, - "src": "228:1071:38" - } - ], - "src": "78:1222:38" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.722Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Ownable" - }, - "userdoc": { - "methods": {}, - "notice": "Ownership related functions" - } -} \ No newline at end of file diff --git a/build-v1/contracts/Pricing.json b/build-v1/contracts/Pricing.json deleted file mode 100644 index 4a327ad..0000000 --- a/build-v1/contracts/Pricing.json +++ /dev/null @@ -1,14277 +0,0 @@ -{ - "contractName": "Pricing", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedTarget", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTarget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteTarget", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMidPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "midPrice", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpectedTarget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseTarget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTarget\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMidPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"midPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Pricing\"},\"userdoc\":{\"methods\":{},\"notice\":\"DODO Pricing model\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol\":\"Pricing\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol\":{\"keccak256\":\"0xaec47be06aa7f8994923c80f2c2318304423666300a48f03a43265787f27c708\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e187f46639dd1127abc81439896e67e21338e9eee8707996606b0c9c8ede68a1\",\"dweb:/ipfs/QmPSfPbZuyM3haHZtWVFknZLAMqg2Jy613jQ36JGuCm7LS\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":{\"keccak256\":\"0xe3f63c53706f21ad68ebeff69321682ffa83bb0552db7e4453dff9772724f657\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64e385f8c3fbe9e485d0b1b0f90f9621bf50fe02ee7cb95a44828a255db3581f\",\"dweb:/ipfs/QmNesw9cspw1fDDumDy1BSrCeGVij1BAfAVXpfajKHGUcn\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50610ec7806100206000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80638456db151161013b578063c6b73cf9116100b8578063ec2fd46d1161007c578063ec2fd46d146103a7578063ee27c689146103af578063f2fde38b146103b7578063f67ed448146103ca578063ffa64225146103dd5761023d565b8063c6b73cf91461037f578063d4b9704614610387578063d689107c1461038f578063dd58b41c14610397578063eab5d20e1461039f5761023d565b8063ab44a7a3116100ff578063ab44a7a314610357578063ac1fbc981461035f578063b2094fd314610367578063c0ffa1781461036f578063c5bbffe8146103775761023d565b80638456db151461032f5780638ff5e742146103375780639b020fba1461033f578063a3161a5614610347578063a598aca71461034f5761023d565b80634a248d2a116101c95780636ec6a58d1161018d5780636ec6a58d146102fc57806373a2ab7c14610304578063796da7af1461030c5780637aed942d146103145780637c9b8e89146103275761023d565b80634a248d2a146102ba5780634de4527e146102c25780634e71e0c8146102ca57806354fd4d50146102d457806368be20ad146102dc5761023d565b806317be952e1161021057806317be952e14610285578063245c96851461029a5780632aa82c65146102a25780633960f142146102aa5780634322ec83146102b25761023d565b80630cd1667d146102425780630e6518e91461026057806316048bc4146102685780631769ddaa1461027d575b600080fd5b61024a6103f3565b6040516102579190610e7a565b60405180910390f35b61024a610476565b61027061047c565b6040516102579190610d45565b61024a61048b565b61028d610491565b6040516102579190610d64565b61024a61049a565b61024a6104a0565b6102706104e5565b6102706104f4565b610270610503565b61024a610512565b6102d2610518565b005b61024a6105af565b6102ef6102ea366004610d06565b6105b4565b6040516102579190610d59565b6102ef6105c9565b6102706105d9565b61024a6105e8565b61024a610322366004610d06565b61062d565b61024a6106b4565b6102706106ba565b6102ef6106c9565b61024a6106d7565b6102ef6106dd565b6102ef6106e6565b61024a6106f6565b6102706106fc565b61024a61070b565b61024a610711565b6102ef610717565b61024a610727565b61027061072d565b61027061073c565b6102ef61074b565b61024a61075b565b61024a610761565b61024a610767565b6102d26103c5366004610d06565b610864565b61024a6103d8366004610d06565b61090f565b6103e5610940565b604051610257929190610e83565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561043857600080fd5b505afa15801561044c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104709190610d2d565b90505b90565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561043857600080fd5b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290610d78565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561043857600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a082319061065e908590600401610d45565b60206040518083038186803b15801561067657600080fd5b505afa15801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190610d2d565b92915050565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b6000806000610774610940565b90925090506002600e5460ff16600281111561078c57fe5b141561081a5760006107c46107bc6012546107b08586610a0490919063ffffffff16565b9063ffffffff610a4516565b601254610a77565b90506107fd6107d5600d5483610a95565b600d546107f190670de0b6b3a76400009063ffffffff610ab716565b9063ffffffff610adf16565b905061081061080a6105e8565b82610a77565b9350505050610473565b60006108406108386011546107b08687610a0490919063ffffffff16565b601154610a77565b90506108516107d5600d5483610a95565b905061081061085e6105e8565b82610a95565b6000546001600160a01b0316331461088e5760405162461bcd60e51b815260040161054290610e11565b6001600160a01b0381166108b45760405162461bcd60e51b815260040161054290610dea565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a082319061065e908590600401610d45565b601254601154600091829182600e5460ff16600281111561095d57fe5b141561097457600f54601054935093505050610a00565b6002600e5460ff16600281111561098757fe5b14156109b9576000610997610b04565b600f549091506109ad848363ffffffff610adf16565b94509450505050610a00565b6001600e5460ff1660028111156109cc57fe5b14156109fd5760006109dc610b6b565b90506109ee828263ffffffff610adf16565b60105494509450505050610a00565b50505b9091565b600082610a13575060006106ae565b82820282848281610a2057fe5b0414610a3e5760405162461bcd60e51b815260040161054290610e57565b9392505050565b6000808211610a665760405162461bcd60e51b815260040161054290610d9f565b818381610a6f57fe5b049392505050565b6000610a3e826107b085670de0b6b3a764000063ffffffff610a0416565b6000670de0b6b3a7640000610ab0848463ffffffff610a0416565b81610a6f57fe5b600082821115610ad95760405162461bcd60e51b815260040161054290610dc7565b50900390565b600082820183811015610a3e5760405162461bcd60e51b815260040161054290610e34565b600080610b1e600f54601154610ab790919063ffffffff16565b90506000610b2a6105e8565b90506000610b388383610a95565b90506000610b4b601254600d5484610bc9565b9050610b6260125482610ab790919063ffffffff16565b94505050505090565b600080610b85601054601254610ab790919063ffffffff16565b90506000610b916105e8565b90506000610b9f8383610a77565b90506000610bb2601154600d5484610bc9565b9050610b6260115482610ab790919063ffffffff16565b600080610bf0610bea6004610bde8787610a95565b9063ffffffff610a0416565b86610c78565b9050610c16610c11670de0b6b3a7640000610bde848263ffffffff610adf16565b610ca2565b90506000610c4b610c3583670de0b6b3a764000063ffffffff610ab716565b610c4687600263ffffffff610a0416565b610c78565b9050610c6e86610c69670de0b6b3a76400008463ffffffff610adf16565b610a95565b9695505050505050565b6000610a3e82610c9685670de0b6b3a764000063ffffffff610a0416565b9063ffffffff610cd916565b80600160028204015b81811015610cd357809150600281828581610cc257fe5b040181610ccb57fe5b049050610cab565b50919050565b600080610ce68484610a45565b905082810284038015610cfe575060010190506106ae565b5090506106ae565b600060208284031215610d17578081fd5b81356001600160a01b0381168114610a3e578182fd5b600060208284031215610d3e578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6020810160038310610d7257fe5b91905290565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b91825260208201526040019056fea264697066735822122015504639ba866f736aae2392c0b00473f18b005220704b493962a458c6d65db064736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061023d5760003560e01c80638456db151161013b578063c6b73cf9116100b8578063ec2fd46d1161007c578063ec2fd46d146103a7578063ee27c689146103af578063f2fde38b146103b7578063f67ed448146103ca578063ffa64225146103dd5761023d565b8063c6b73cf91461037f578063d4b9704614610387578063d689107c1461038f578063dd58b41c14610397578063eab5d20e1461039f5761023d565b8063ab44a7a3116100ff578063ab44a7a314610357578063ac1fbc981461035f578063b2094fd314610367578063c0ffa1781461036f578063c5bbffe8146103775761023d565b80638456db151461032f5780638ff5e742146103375780639b020fba1461033f578063a3161a5614610347578063a598aca71461034f5761023d565b80634a248d2a116101c95780636ec6a58d1161018d5780636ec6a58d146102fc57806373a2ab7c14610304578063796da7af1461030c5780637aed942d146103145780637c9b8e89146103275761023d565b80634a248d2a146102ba5780634de4527e146102c25780634e71e0c8146102ca57806354fd4d50146102d457806368be20ad146102dc5761023d565b806317be952e1161021057806317be952e14610285578063245c96851461029a5780632aa82c65146102a25780633960f142146102aa5780634322ec83146102b25761023d565b80630cd1667d146102425780630e6518e91461026057806316048bc4146102685780631769ddaa1461027d575b600080fd5b61024a6103f3565b6040516102579190610e7a565b60405180910390f35b61024a610476565b61027061047c565b6040516102579190610d45565b61024a61048b565b61028d610491565b6040516102579190610d64565b61024a61049a565b61024a6104a0565b6102706104e5565b6102706104f4565b610270610503565b61024a610512565b6102d2610518565b005b61024a6105af565b6102ef6102ea366004610d06565b6105b4565b6040516102579190610d59565b6102ef6105c9565b6102706105d9565b61024a6105e8565b61024a610322366004610d06565b61062d565b61024a6106b4565b6102706106ba565b6102ef6106c9565b61024a6106d7565b6102ef6106dd565b6102ef6106e6565b61024a6106f6565b6102706106fc565b61024a61070b565b61024a610711565b6102ef610717565b61024a610727565b61027061072d565b61027061073c565b6102ef61074b565b61024a61075b565b61024a610761565b61024a610767565b6102d26103c5366004610d06565b610864565b61024a6103d8366004610d06565b61090f565b6103e5610940565b604051610257929190610e83565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561043857600080fd5b505afa15801561044c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104709190610d2d565b90505b90565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561043857600080fd5b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290610d78565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561043857600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a082319061065e908590600401610d45565b60206040518083038186803b15801561067657600080fd5b505afa15801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190610d2d565b92915050565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b6000806000610774610940565b90925090506002600e5460ff16600281111561078c57fe5b141561081a5760006107c46107bc6012546107b08586610a0490919063ffffffff16565b9063ffffffff610a4516565b601254610a77565b90506107fd6107d5600d5483610a95565b600d546107f190670de0b6b3a76400009063ffffffff610ab716565b9063ffffffff610adf16565b905061081061080a6105e8565b82610a77565b9350505050610473565b60006108406108386011546107b08687610a0490919063ffffffff16565b601154610a77565b90506108516107d5600d5483610a95565b905061081061085e6105e8565b82610a95565b6000546001600160a01b0316331461088e5760405162461bcd60e51b815260040161054290610e11565b6001600160a01b0381166108b45760405162461bcd60e51b815260040161054290610dea565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a082319061065e908590600401610d45565b601254601154600091829182600e5460ff16600281111561095d57fe5b141561097457600f54601054935093505050610a00565b6002600e5460ff16600281111561098757fe5b14156109b9576000610997610b04565b600f549091506109ad848363ffffffff610adf16565b94509450505050610a00565b6001600e5460ff1660028111156109cc57fe5b14156109fd5760006109dc610b6b565b90506109ee828263ffffffff610adf16565b60105494509450505050610a00565b50505b9091565b600082610a13575060006106ae565b82820282848281610a2057fe5b0414610a3e5760405162461bcd60e51b815260040161054290610e57565b9392505050565b6000808211610a665760405162461bcd60e51b815260040161054290610d9f565b818381610a6f57fe5b049392505050565b6000610a3e826107b085670de0b6b3a764000063ffffffff610a0416565b6000670de0b6b3a7640000610ab0848463ffffffff610a0416565b81610a6f57fe5b600082821115610ad95760405162461bcd60e51b815260040161054290610dc7565b50900390565b600082820183811015610a3e5760405162461bcd60e51b815260040161054290610e34565b600080610b1e600f54601154610ab790919063ffffffff16565b90506000610b2a6105e8565b90506000610b388383610a95565b90506000610b4b601254600d5484610bc9565b9050610b6260125482610ab790919063ffffffff16565b94505050505090565b600080610b85601054601254610ab790919063ffffffff16565b90506000610b916105e8565b90506000610b9f8383610a77565b90506000610bb2601154600d5484610bc9565b9050610b6260115482610ab790919063ffffffff16565b600080610bf0610bea6004610bde8787610a95565b9063ffffffff610a0416565b86610c78565b9050610c16610c11670de0b6b3a7640000610bde848263ffffffff610adf16565b610ca2565b90506000610c4b610c3583670de0b6b3a764000063ffffffff610ab716565b610c4687600263ffffffff610a0416565b610c78565b9050610c6e86610c69670de0b6b3a76400008463ffffffff610adf16565b610a95565b9695505050505050565b6000610a3e82610c9685670de0b6b3a764000063ffffffff610a0416565b9063ffffffff610cd916565b80600160028204015b81811015610cd357809150600281828581610cc257fe5b040181610ccb57fe5b049050610cab565b50919050565b600080610ce68484610a45565b905082810284038015610cfe575060010190506106ae565b5090506106ae565b600060208284031215610d17578081fd5b81356001600160a01b0381168114610a3e578182fd5b600060208284031215610d3e578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6020810160038310610d7257fe5b91905290565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b91825260208201526040019056fea264697066735822122015504639ba866f736aae2392c0b00473f18b005220704b493962a458c6d65db064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "444:6425:25:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "444:6425:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2949:133:27;;;:::i;:::-;;;;;;;;;;;;;;;;2006:43;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;1604:31::-;;;:::i;:::-;;;;;;;;1688:42;;;:::i;3243:135::-;;;:::i;1202:27::-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;:::-;;3433:87:27;;;:::i;2055:41::-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;2796:147::-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;1036:29:27:-;;;:::i;1071:35::-;;;:::i;1002:28::-;;;:::i;839:34::-;;;:::i;1511:28::-;;;:::i;1849:36::-;;;:::i;1641:41::-;;;:::i;1545:28::-;;;:::i;798:35::-;;;:::i;1957:43::-;;;:::i;1385:28::-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;1736:29::-;;;:::i;1579:18::-;;;:::i;5504:799:25:-;;;:::i;737:220:37:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;4819:679:25:-;;;:::i;:::-;;;;;;;;;2949:133:27;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;;:::o;2006:43::-;;;;:::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;1604:31::-;;;;;;:::o;1688:42::-;;;;:::o;3243:135::-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;1202:27;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;2055:41::-;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;2796:147;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2881:55;2796:147;-1:-1:-1;;2796:147:27:o;1771:30::-;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;1036:29:27:-;;;;;;;;;:::o;1071:35::-;;;;:::o;1002:28::-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;1511:28::-;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;1641:41::-;;;;:::o;1545:28::-;;;;:::o;798:35::-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;1385:28::-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;1736:29::-;;;;:::o;1579:18::-;;;;:::o;5504:799:25:-;5548:16;5577:18;5597:19;5620;:17;:19::i;:::-;5576:63;;-1:-1:-1;5576:63:25;-1:-1:-1;5667:23:25;5653:10;;;;:37;;;;;;;;;5649:648;;;5706:9;5718:134;5756:49;5789:15;;5756:28;5772:11;5756;:15;;:28;;;;:::i;:::-;:32;:49;:32;:49;:::i;:::-;5823:15;;5718:20;:134::i;:::-;5706:146;;5870:53;5899:23;5915:3;;5920:1;5899:15;:23::i;:::-;5890:3;;5870:24;;379:6:36;;5870:24:25;:19;:24;:::i;:::-;:28;:53;:28;:53;:::i;:::-;5866:57;;5944:41;5965:16;:14;:16::i;:::-;5983:1;5944:20;:41::i;:::-;5937:48;;;;;;;5649:648;6016:9;6028:130;6066:46;6097:14;;6066:26;6081:10;6066;:14;;:26;;;;:::i;:46::-;6130:14;;6028:20;:130::i;:::-;6016:142;;6176:53;6205:23;6221:3;;6226:1;6205:15;:23::i;6176:53::-;6172:57;;6250:36;6266:16;:14;:16::i;:::-;6284:1;6250:15;:36::i;737:220:37:-;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;4819:679:25;4932:15;;4969:14;;4869:18;;;;;4997:10;;;;:31;;;;;;;;;4993:499;;;5052:26;;5080:27;;5044:64;;;;;;;;4993:499;5143:23;5129:10;;;;:37;;;;;;;;;5125:367;;;5182:21;5206:18;:16;:18::i;:::-;5246:26;;5182:42;;-1:-1:-1;5274:20:25;:1;5182:42;5274:20;:5;:20;:::i;:::-;5238:57;;;;;;;;;5125:367;5330:23;5316:10;;;;:37;;;;;;;;;5312:180;;;5369:20;5392:18;:16;:18::i;:::-;5369:41;-1:-1:-1;5432:19:25;:1;5369:41;5432:19;:5;:19;:::i;:::-;5453:27;;5424:57;;;;;;;;;5312:180;4819:679;;;;;:::o;281:217:41:-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;;490:1;281:217;-1:-1:-1;;;281:217:41:o;504:138::-;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;645:123:36:-;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;392:115::-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;934:134:41;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;1074:157::-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;2736:578:25;2787:21;2927:17;2947:46;2966:26;;2947:14;;:18;;:46;;;;:::i;:::-;2927:66;;3003:13;3019:16;:14;:16::i;:::-;3003:32;;3045:18;3066:33;3082:9;3093:5;3066:15;:33::i;:::-;3045:54;;3109:22;3134:121;3189:15;;3218:3;;3235:10;3134:41;:121::i;:::-;3109:146;;3272:35;3291:15;;3272:14;:18;;:35;;;;:::i;:::-;3265:42;;;;;;2736:578;:::o;4180:582::-;4231:20;4370:18;4391:48;4411:27;;4391:15;;:19;;:48;;;;:::i;:::-;4370:69;;4449:13;4465:16;:14;:16::i;:::-;4449:32;;4491:18;4512:39;4533:10;4545:5;4512:20;:39::i;:::-;4491:60;;4561:21;4585:120;4640:14;;4668:3;;4685:10;4585:41;:120::i;:::-;4561:144;;4722:33;4740:14;;4722:13;:17;;:33;;;;:::i;3310:569:35:-;3448:10;3504:12;3519:62;3539:37;3574:1;3539:30;3555:1;3558:10;3539:15;:30::i;:::-;:34;:37;:34;:37;:::i;:::-;3578:2;3519:19;:62::i;:::-;3504:77;-1:-1:-1;3598:53:35;:46;379:6:36;3598:25:35;3504:77;379:6:36;3598:25:35;:8;:25;:::i;:46::-;:51;:53::i;:::-;3591:60;-1:-1:-1;3661:15:35;3679:56;3699:25;3591:60;379:6:36;3699:25:35;:8;:25;:::i;:::-;3726:8;:1;3732;3726:8;:5;:8;:::i;:::-;3679:19;:56::i;:::-;3661:74;-1:-1:-1;3823:49:35;3839:2;3843:28;379:6:36;3661:74:35;3843:28;:19;:28;:::i;:::-;3823:15;:49::i;:::-;3816:56;3310:569;-1:-1:-1;;;;;;3310:569:35:o;774:126:36:-;841:7;867:26;891:1;867:15;:6;379;867:15;:10;:15;:::i;:::-;:23;:26;:23;:26;:::i;1237:198:41:-;1318:1;1326;1322;1318:5;;:9;1352:77;1363:1;1359;:5;1352:77;;;1384:1;1380:5;;1417:1;1412;1408;1404;:5;;;;;;:9;1403:15;;;;;;1399:19;;1352:77;;;1237:198;;;;:::o;648:280::-;710:7;729:16;748:9;752:1;755;748:3;:9::i;:::-;729:28;-1:-1:-1;791:12:41;;;787:16;;817:13;;813:109;;-1:-1:-1;864:1:41;853:12;;-1:-1:-1;846:19:41;;813:109;-1:-1:-1;903:8:41;-1:-1:-1;896:15:41;;283:241:-1;;387:2;375:9;366:7;362:23;358:32;355:2;;;-1:-1;;393:12;355:2;72:20;;-1:-1;;;;;8332:54;;8786:35;;8776:2;;-1:-1;;8825:12;531:263;;646:2;634:9;625:7;621:23;617:32;614:2;;;-1:-1;;652:12;614:2;-1:-1;220:13;;608:186;-1:-1;608:186;3542:222;-1:-1;;;;;8332:54;;;;872:37;;3669:2;3654:18;;3640:124;3771:210;8105:13;;8098:21;986:34;;3892:2;3877:18;;3863:118;3988:244;4126:2;4111:18;;8698:1;8688:12;;8678:2;;8704:9;8678:2;1114:61;;;4097:135;;4239:416;4439:2;4453:47;;;1412:2;4424:18;;;7873:19;-1:-1;;;7913:14;;;1428:36;1483:12;;;4410:245;4662:416;4862:2;4876:47;;;1734:2;4847:18;;;7873:19;-1:-1;;;7913:14;;;1750:37;1806:12;;;4833:245;5085:416;5285:2;5299:47;;;2057:1;5270:18;;;7873:19;-1:-1;;;7913:14;;;2072:32;2123:12;;;5256:245;5508:416;5708:2;5722:47;;;2374:2;5693:18;;;7873:19;-1:-1;;;7913:14;;;2390:36;2445:12;;;5679:245;5931:416;6131:2;6145:47;;;2696:1;6116:18;;;7873:19;-1:-1;;;7913:14;;;2711:32;2762:12;;;6102:245;6354:416;6554:2;6568:47;;;3013:1;6539:18;;;7873:19;-1:-1;;;7913:14;;;3028:32;3079:12;;;6525:245;6777:416;6977:2;6991:47;;;3330:1;6962:18;;;7873:19;-1:-1;;;7913:14;;;3345:32;3396:12;;;6948:245;7200:222;3493:37;;;7327:2;7312:18;;7298:124;7429:333;3493:37;;;7748:2;7733:18;;3493:37;7584:2;7569:18;;7555:207", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {DODOMath} from \"../lib/DODOMath.sol\";\nimport {Types} from \"../lib/Types.sol\";\nimport {Storage} from \"./Storage.sol\";\n\n\n/**\n * @title Pricing\n * @author DODO Breeder\n *\n * @notice DODO Pricing model\n */\ncontract Pricing is Storage {\n using SafeMath for uint256;\n\n // ============ R = 1 cases ============\n\n function _ROneSellBaseToken(uint256 amount, uint256 targetQuoteTokenAmount)\n internal\n view\n returns (uint256 receiveQuoteToken)\n {\n uint256 i = getOraclePrice();\n uint256 Q2 = DODOMath._SolveQuadraticFunctionForTrade(\n targetQuoteTokenAmount,\n targetQuoteTokenAmount,\n DecimalMath.mul(i, amount),\n false,\n _K_\n );\n // in theory Q2 <= targetQuoteTokenAmount\n // however when amount is close to 0, precision problems may cause Q2 > targetQuoteTokenAmount\n return targetQuoteTokenAmount.sub(Q2);\n }\n\n function _ROneBuyBaseToken(uint256 amount, uint256 targetBaseTokenAmount)\n internal\n view\n returns (uint256 payQuoteToken)\n {\n require(amount < targetBaseTokenAmount, \"DODO_BASE_BALANCE_NOT_ENOUGH\");\n uint256 B2 = targetBaseTokenAmount.sub(amount);\n payQuoteToken = _RAboveIntegrate(targetBaseTokenAmount, targetBaseTokenAmount, B2);\n return payQuoteToken;\n }\n\n // ============ R < 1 cases ============\n\n function _RBelowSellBaseToken(\n uint256 amount,\n uint256 quoteBalance,\n uint256 targetQuoteAmount\n ) internal view returns (uint256 receieQuoteToken) {\n uint256 i = getOraclePrice();\n uint256 Q2 = DODOMath._SolveQuadraticFunctionForTrade(\n targetQuoteAmount,\n quoteBalance,\n DecimalMath.mul(i, amount),\n false,\n _K_\n );\n return quoteBalance.sub(Q2);\n }\n\n function _RBelowBuyBaseToken(\n uint256 amount,\n uint256 quoteBalance,\n uint256 targetQuoteAmount\n ) internal view returns (uint256 payQuoteToken) {\n // Here we don't require amount less than some value\n // Because it is limited at upper function\n // See Trader.queryBuyBaseToken\n uint256 i = getOraclePrice();\n uint256 Q2 = DODOMath._SolveQuadraticFunctionForTrade(\n targetQuoteAmount,\n quoteBalance,\n DecimalMath.mulCeil(i, amount),\n true,\n _K_\n );\n return Q2.sub(quoteBalance);\n }\n\n function _RBelowBackToOne() internal view returns (uint256 payQuoteToken) {\n // important: carefully design the system to make sure spareBase always greater than or equal to 0\n uint256 spareBase = _BASE_BALANCE_.sub(_TARGET_BASE_TOKEN_AMOUNT_);\n uint256 price = getOraclePrice();\n uint256 fairAmount = DecimalMath.mul(spareBase, price);\n uint256 newTargetQuote = DODOMath._SolveQuadraticFunctionForTarget(\n _QUOTE_BALANCE_,\n _K_,\n fairAmount\n );\n return newTargetQuote.sub(_QUOTE_BALANCE_);\n }\n\n // ============ R > 1 cases ============\n\n function _RAboveBuyBaseToken(\n uint256 amount,\n uint256 baseBalance,\n uint256 targetBaseAmount\n ) internal view returns (uint256 payQuoteToken) {\n require(amount < baseBalance, \"DODO_BASE_BALANCE_NOT_ENOUGH\");\n uint256 B2 = baseBalance.sub(amount);\n return _RAboveIntegrate(targetBaseAmount, baseBalance, B2);\n }\n\n function _RAboveSellBaseToken(\n uint256 amount,\n uint256 baseBalance,\n uint256 targetBaseAmount\n ) internal view returns (uint256 receiveQuoteToken) {\n // here we don't require B1 <= targetBaseAmount\n // Because it is limited at upper function\n // See Trader.querySellBaseToken\n uint256 B1 = baseBalance.add(amount);\n return _RAboveIntegrate(targetBaseAmount, B1, baseBalance);\n }\n\n function _RAboveBackToOne() internal view returns (uint256 payBaseToken) {\n // important: carefully design the system to make sure spareBase always greater than or equal to 0\n uint256 spareQuote = _QUOTE_BALANCE_.sub(_TARGET_QUOTE_TOKEN_AMOUNT_);\n uint256 price = getOraclePrice();\n uint256 fairAmount = DecimalMath.divFloor(spareQuote, price);\n uint256 newTargetBase = DODOMath._SolveQuadraticFunctionForTarget(\n _BASE_BALANCE_,\n _K_,\n fairAmount\n );\n return newTargetBase.sub(_BASE_BALANCE_);\n }\n\n // ============ Helper functions ============\n\n function getExpectedTarget() public view returns (uint256 baseTarget, uint256 quoteTarget) {\n uint256 Q = _QUOTE_BALANCE_;\n uint256 B = _BASE_BALANCE_;\n if (_R_STATUS_ == Types.RStatus.ONE) {\n return (_TARGET_BASE_TOKEN_AMOUNT_, _TARGET_QUOTE_TOKEN_AMOUNT_);\n } else if (_R_STATUS_ == Types.RStatus.BELOW_ONE) {\n uint256 payQuoteToken = _RBelowBackToOne();\n return (_TARGET_BASE_TOKEN_AMOUNT_, Q.add(payQuoteToken));\n } else if (_R_STATUS_ == Types.RStatus.ABOVE_ONE) {\n uint256 payBaseToken = _RAboveBackToOne();\n return (B.add(payBaseToken), _TARGET_QUOTE_TOKEN_AMOUNT_);\n }\n }\n\n function getMidPrice() public view returns (uint256 midPrice) {\n (uint256 baseTarget, uint256 quoteTarget) = getExpectedTarget();\n if (_R_STATUS_ == Types.RStatus.BELOW_ONE) {\n uint256 R = DecimalMath.divFloor(\n quoteTarget.mul(quoteTarget).div(_QUOTE_BALANCE_),\n _QUOTE_BALANCE_\n );\n R = DecimalMath.ONE.sub(_K_).add(DecimalMath.mul(_K_, R));\n return DecimalMath.divFloor(getOraclePrice(), R);\n } else {\n uint256 R = DecimalMath.divFloor(\n baseTarget.mul(baseTarget).div(_BASE_BALANCE_),\n _BASE_BALANCE_\n );\n R = DecimalMath.ONE.sub(_K_).add(DecimalMath.mul(_K_, R));\n return DecimalMath.mul(getOraclePrice(), R);\n }\n }\n\n function _RAboveIntegrate(\n uint256 B0,\n uint256 B1,\n uint256 B2\n ) internal view returns (uint256) {\n uint256 i = getOraclePrice();\n return DODOMath._GeneralIntegrate(B0, B1, B2, i, _K_);\n }\n\n // function _RBelowIntegrate(\n // uint256 Q0,\n // uint256 Q1,\n // uint256 Q2\n // ) internal view returns (uint256) {\n // uint256 i = getOraclePrice();\n // i = DecimalMath.divFloor(DecimalMath.ONE, i); // 1/i\n // return DODOMath._GeneralIntegrate(Q0, Q1, Q2, i, _K_);\n // }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "exportedSymbols": { - "Pricing": [ - 8853 - ] - }, - "id": 8854, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8371, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:25" - }, - { - "id": 8372, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:25" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 8374, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 11624, - "src": "136:45:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8373, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 8376, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 11079, - "src": "182:51:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8375, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "file": "../lib/DODOMath.sol", - "id": 8378, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 10993, - "src": "234:45:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8377, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:8:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 8380, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 11632, - "src": "280:39:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8379, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "288:5:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 8382, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 9614, - "src": "320:38:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8381, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "328:7:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8384, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "464:7:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 8385, - "nodeType": "InheritanceSpecifier", - "src": "464:7:25" - } - ], - "contractDependencies": [ - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 8383, - "nodeType": "StructuredDocumentation", - "src": "361:82:25", - "text": " @title Pricing\n @author DODO Breeder\n @notice DODO Pricing model" - }, - "fullyImplemented": true, - "id": 8853, - "linearizedBaseContracts": [ - 8853, - 9613, - 11296, - 11166 - ], - "name": "Pricing", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8388, - "libraryName": { - "contractScope": null, - "id": 8386, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "484:8:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "478:27:25", - "typeName": { - "id": 8387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "497:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 8422, - "nodeType": "Block", - "src": "711:466:25", - "statements": [ - { - "assignments": [ - 8398 - ], - "declarations": [ - { - "constant": false, - "id": 8398, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "721:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8401, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8399, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "733:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "733:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "721:28:25" - }, - { - "assignments": [ - 8403 - ], - "declarations": [ - { - "constant": false, - "id": 8403, - "mutability": "mutable", - "name": "Q2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "759:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "759:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8416, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8406, - "name": "targetQuoteTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "826:22:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8407, - "name": "targetQuoteTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "862:22:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8410, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8398, - "src": "914:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8411, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8390, - "src": "917:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8408, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "898:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "898:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:26:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 8413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "938:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 8414, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "957:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8404, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "772:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTrade", - "nodeType": "MemberAccess", - "referencedDeclaration": 10925, - "src": "772:40:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,bool,uint256) pure returns (uint256)" - } - }, - "id": 8415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "772:198:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "759:211:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8419, - "name": "Q2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "1167:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8417, - "name": "targetQuoteTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "1140:22:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1140:26:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1140:30:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8396, - "id": 8421, - "nodeType": "Return", - "src": "1133:37:25" - } - ] - }, - "documentation": null, - "id": 8423, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ROneSellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8390, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8423, - "src": "585:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8392, - "mutability": "mutable", - "name": "targetQuoteTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8423, - "src": "601:30:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "584:48:25" - }, - "returnParameters": { - "id": 8396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8395, - "mutability": "mutable", - "name": "receiveQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8423, - "src": "680:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:27:25" - }, - "scope": 8853, - "src": "557:620:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8456, - "nodeType": "Block", - "src": "1331:266:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8433, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8425, - "src": "1349:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 8434, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1358:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1349:30:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 8436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1381:30:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1341:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1341:71:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8438, - "nodeType": "ExpressionStatement", - "src": "1341:71:25" - }, - { - "assignments": [ - 8440 - ], - "declarations": [ - { - "constant": false, - "id": 8440, - "mutability": "mutable", - "name": "B2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8456, - "src": "1422:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1422:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8445, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8443, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8425, - "src": "1461:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8441, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1435:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1435:25:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1435:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1422:46:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8446, - "name": "payQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8430, - "src": "1478:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8448, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1511:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8449, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1534:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8450, - "name": "B2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8440, - "src": "1557:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8447, - "name": "_RAboveIntegrate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "1494:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 8451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1494:66:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1478:82:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8453, - "nodeType": "ExpressionStatement", - "src": "1478:82:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8454, - "name": "payQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8430, - "src": "1577:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8431, - "id": 8455, - "nodeType": "Return", - "src": "1570:20:25" - } - ] - }, - "documentation": null, - "id": 8457, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ROneBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8425, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8457, - "src": "1210:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1210:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8427, - "mutability": "mutable", - "name": "targetBaseTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8457, - "src": "1226:29:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1226:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1209:47:25" - }, - "returnParameters": { - "id": 8431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8430, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8457, - "src": "1304:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1304:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1303:23:25" - }, - "scope": 8853, - "src": "1183:414:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8493, - "nodeType": "Block", - "src": "1823:288:25", - "statements": [ - { - "assignments": [ - 8469 - ], - "declarations": [ - { - "constant": false, - "id": 8469, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8493, - "src": "1833:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1833:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8472, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8470, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "1845:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1845:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1833:28:25" - }, - { - "assignments": [ - 8474 - ], - "declarations": [ - { - "constant": false, - "id": 8474, - "mutability": "mutable", - "name": "Q2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8493, - "src": "1871:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1871:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8487, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8477, - "name": "targetQuoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8463, - "src": "1938:17:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8478, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8461, - "src": "1969:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8481, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8469, - "src": "2011:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8482, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8459, - "src": "2014:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8479, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1995:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1995:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1995:26:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 8484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2035:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 8485, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2054:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8475, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "1884:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTrade", - "nodeType": "MemberAccess", - "referencedDeclaration": 10925, - "src": "1884:40:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,bool,uint256) pure returns (uint256)" - } - }, - "id": 8486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1884:183:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1871:196:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8490, - "name": "Q2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8474, - "src": "2101:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8488, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8461, - "src": "2084:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2084:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8467, - "id": 8492, - "nodeType": "Return", - "src": "2077:27:25" - } - ] - }, - "documentation": null, - "id": 8494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RBelowSellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8459, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1688:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1688:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8461, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1712:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1712:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8463, - "mutability": "mutable", - "name": "targetQuoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1742:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1742:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1678:95:25" - }, - "returnParameters": { - "id": 8467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8466, - "mutability": "mutable", - "name": "receieQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1797:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1797:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1796:26:25" - }, - "scope": 8853, - "src": "1649:462:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8530, - "nodeType": "Block", - "src": "2287:443:25", - "statements": [ - { - "assignments": [ - 8506 - ], - "declarations": [ - { - "constant": false, - "id": 8506, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8530, - "src": "2449:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2449:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8509, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8507, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "2461:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2461:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2449:28:25" - }, - { - "assignments": [ - 8511 - ], - "declarations": [ - { - "constant": false, - "id": 8511, - "mutability": "mutable", - "name": "Q2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8530, - "src": "2487:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2487:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8514, - "name": "targetQuoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8500, - "src": "2554:17:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8515, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8498, - "src": "2585:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8518, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8506, - "src": "2631:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8519, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8496, - "src": "2634:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8516, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2611:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mulCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11041, - "src": "2611:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:30:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2655:4:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 8522, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2673:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8512, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "2500:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTrade", - "nodeType": "MemberAccess", - "referencedDeclaration": 10925, - "src": "2500:40:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,bool,uint256) pure returns (uint256)" - } - }, - "id": 8523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2500:186:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2487:199:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8527, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8498, - "src": "2710:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8525, - "name": "Q2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8511, - "src": "2703:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2703:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2703:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8504, - "id": 8529, - "nodeType": "Return", - "src": "2696:27:25" - } - ] - }, - "documentation": null, - "id": 8531, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RBelowBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8496, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2155:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2155:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8498, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2179:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2179:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8500, - "mutability": "mutable", - "name": "targetQuoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2209:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2209:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2145:95:25" - }, - "returnParameters": { - "id": 8504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8503, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2264:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2264:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2263:23:25" - }, - "scope": 8853, - "src": "2117:613:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8570, - "nodeType": "Block", - "src": "2810:504:25", - "statements": [ - { - "assignments": [ - 8537 - ], - "declarations": [ - { - "constant": false, - "id": 8537, - "mutability": "mutable", - "name": "spareBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "2927:17:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2927:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8542, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8540, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2966:26:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8538, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "2947:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2947:18:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:46:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2927:66:25" - }, - { - "assignments": [ - 8544 - ], - "declarations": [ - { - "constant": false, - "id": 8544, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "3003:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3003:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8547, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8545, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "3019:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3019:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3003:32:25" - }, - { - "assignments": [ - 8549 - ], - "declarations": [ - { - "constant": false, - "id": 8549, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "3045:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3045:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8555, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8552, - "name": "spareBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8537, - "src": "3082:9:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8553, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8544, - "src": "3093:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8550, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3066:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "3066:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3066:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3045:54:25" - }, - { - "assignments": [ - 8557 - ], - "declarations": [ - { - "constant": false, - "id": 8557, - "mutability": "mutable", - "name": "newTargetQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "3109:22:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8556, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3109:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8564, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8560, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3189:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8561, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "3218:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8562, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8549, - "src": "3235:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8558, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "3134:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "3134:41:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3134:121:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3109:146:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8567, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3291:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8565, - "name": "newTargetQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8557, - "src": "3272:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3272:18:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3272:35:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8535, - "id": 8569, - "nodeType": "Return", - "src": "3265:42:25" - } - ] - }, - "documentation": null, - "id": 8571, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RBelowBackToOne", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8532, - "nodeType": "ParameterList", - "parameters": [], - "src": "2761:2:25" - }, - "returnParameters": { - "id": 8535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8534, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8571, - "src": "2787:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2787:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2786:23:25" - }, - "scope": 8853, - "src": "2736:578:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8602, - "nodeType": "Block", - "src": "3534:192:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8583, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8573, - "src": "3552:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 8584, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8575, - "src": "3561:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3552:20:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 8586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:30:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8582, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3544:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3544:61:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8588, - "nodeType": "ExpressionStatement", - "src": "3544:61:25" - }, - { - "assignments": [ - 8590 - ], - "declarations": [ - { - "constant": false, - "id": 8590, - "mutability": "mutable", - "name": "B2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8602, - "src": "3615:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3615:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8595, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8593, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8573, - "src": "3644:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8591, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8575, - "src": "3628:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3628:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3628:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3615:36:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8597, - "name": "targetBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8577, - "src": "3685:16:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8598, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8575, - "src": "3703:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8599, - "name": "B2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8590, - "src": "3716:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8596, - "name": "_RAboveIntegrate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "3668:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 8600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3668:51:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8581, - "id": 8601, - "nodeType": "Return", - "src": "3661:58:25" - } - ] - }, - "documentation": null, - "id": 8603, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8573, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3404:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3404:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8575, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3428:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3428:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8577, - "mutability": "mutable", - "name": "targetBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3457:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3457:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3394:93:25" - }, - "returnParameters": { - "id": 8581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8580, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3511:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3511:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3510:23:25" - }, - "scope": 8853, - "src": "3366:360:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8627, - "nodeType": "Block", - "src": "3905:269:25", - "statements": [ - { - "assignments": [ - 8615 - ], - "declarations": [ - { - "constant": false, - "id": 8615, - "mutability": "mutable", - "name": "B1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8627, - "src": "4063:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4063:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8620, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8618, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8605, - "src": "4092:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8616, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8607, - "src": "4076:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4076:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4076:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4063:36:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8622, - "name": "targetBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8609, - "src": "4133:16:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8623, - "name": "B1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8615, - "src": "4151:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8624, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8607, - "src": "4155:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8621, - "name": "_RAboveIntegrate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "4116:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 8625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4116:51:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8613, - "id": 8626, - "nodeType": "Return", - "src": "4109:58:25" - } - ] - }, - "documentation": null, - "id": 8628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveSellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8605, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3771:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3771:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8607, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3795:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3795:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8609, - "mutability": "mutable", - "name": "targetBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3824:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3824:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3761:93:25" - }, - "returnParameters": { - "id": 8613, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8612, - "mutability": "mutable", - "name": "receiveQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3878:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3878:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3877:27:25" - }, - "scope": 8853, - "src": "3732:442:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8667, - "nodeType": "Block", - "src": "4253:509:25", - "statements": [ - { - "assignments": [ - 8634 - ], - "declarations": [ - { - "constant": false, - "id": 8634, - "mutability": "mutable", - "name": "spareQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4370:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4370:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8639, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8637, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4411:27:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8635, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "4391:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4391:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4391:48:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4370:69:25" - }, - { - "assignments": [ - 8641 - ], - "declarations": [ - { - "constant": false, - "id": 8641, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4449:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4449:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8644, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8642, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "4465:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4449:32:25" - }, - { - "assignments": [ - 8646 - ], - "declarations": [ - { - "constant": false, - "id": 8646, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4491:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4491:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8652, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8649, - "name": "spareQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "4533:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8650, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8641, - "src": "4545:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8647, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4512:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "4512:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4512:39:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:60:25" - }, - { - "assignments": [ - 8654 - ], - "declarations": [ - { - "constant": false, - "id": 8654, - "mutability": "mutable", - "name": "newTargetBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4561:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4561:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8661, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8657, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "4640:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8658, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "4668:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8659, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8646, - "src": "4685:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8655, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "4585:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "4585:41:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4585:120:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4561:144:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8664, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "4740:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8662, - "name": "newTargetBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8654, - "src": "4722:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4722:17:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4722:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8632, - "id": 8666, - "nodeType": "Return", - "src": "4715:40:25" - } - ] - }, - "documentation": null, - "id": 8668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveBackToOne", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8629, - "nodeType": "ParameterList", - "parameters": [], - "src": "4205:2:25" - }, - "returnParameters": { - "id": 8632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8631, - "mutability": "mutable", - "name": "payBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8668, - "src": "4231:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4231:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4230:22:25" - }, - "scope": 8853, - "src": "4180:582:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8732, - "nodeType": "Block", - "src": "4910:588:25", - "statements": [ - { - "assignments": [ - 8676 - ], - "declarations": [ - { - "constant": false, - "id": 8676, - "mutability": "mutable", - "name": "Q", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "4920:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4920:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8678, - "initialValue": { - "argumentTypes": null, - "id": 8677, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "4932:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4920:27:25" - }, - { - "assignments": [ - 8680 - ], - "declarations": [ - { - "constant": false, - "id": 8680, - "mutability": "mutable", - "name": "B", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "4957:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4957:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8682, - "initialValue": { - "argumentTypes": null, - "id": 8681, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "4969:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4957:26:25" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8683, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "4997:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8684, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5011:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5011:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5011:17:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "4997:31:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8693, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5129:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8694, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5143:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5143:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5143:23:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5129:37:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8711, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5316:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8712, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5330:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5330:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5330:23:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5316:37:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8729, - "nodeType": "IfStatement", - "src": "5312:180:25", - "trueBody": { - "id": 8728, - "nodeType": "Block", - "src": "5355:137:25", - "statements": [ - { - "assignments": [ - 8717 - ], - "declarations": [ - { - "constant": false, - "id": 8717, - "mutability": "mutable", - "name": "payBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8728, - "src": "5369:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5369:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8720, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8718, - "name": "_RAboveBackToOne", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8668, - "src": "5392:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:18:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5369:41:25" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8723, - "name": "payBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8717, - "src": "5438:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8721, - "name": "B", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8680, - "src": "5432:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5432:5:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5432:19:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8725, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "5453:27:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8726, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5431:50:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 8674, - "id": 8727, - "nodeType": "Return", - "src": "5424:57:25" - } - ] - } - }, - "id": 8730, - "nodeType": "IfStatement", - "src": "5125:367:25", - "trueBody": { - "id": 8710, - "nodeType": "Block", - "src": "5168:138:25", - "statements": [ - { - "assignments": [ - 8699 - ], - "declarations": [ - { - "constant": false, - "id": 8699, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8710, - "src": "5182:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8702, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8700, - "name": "_RBelowBackToOne", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8571, - "src": "5206:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5206:18:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5182:42:25" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 8703, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "5246:26:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8706, - "name": "payQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8699, - "src": "5280:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8704, - "name": "Q", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8676, - "src": "5274:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5274:5:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5274:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8708, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5245:50:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 8674, - "id": 8709, - "nodeType": "Return", - "src": "5238:57:25" - } - ] - } - }, - "id": 8731, - "nodeType": "IfStatement", - "src": "4993:499:25", - "trueBody": { - "id": 8692, - "nodeType": "Block", - "src": "5030:89:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 8688, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "5052:26:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8689, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "5080:27:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8690, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5051:57:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 8674, - "id": 8691, - "nodeType": "Return", - "src": "5044:64:25" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "ffa64225", - "id": 8733, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getExpectedTarget", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8669, - "nodeType": "ParameterList", - "parameters": [], - "src": "4845:2:25" - }, - "returnParameters": { - "id": 8674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8671, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8733, - "src": "4869:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4869:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8673, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8733, - "src": "4889:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4889:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4868:41:25" - }, - "scope": 8853, - "src": "4819:679:25", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8825, - "nodeType": "Block", - "src": "5566:737:25", - "statements": [ - { - "assignments": [ - 8739, - 8741 - ], - "declarations": [ - { - "constant": false, - "id": 8739, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8825, - "src": "5577:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5577:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8741, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8825, - "src": "5597:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5597:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8744, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8742, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "5620:17:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 8743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5620:19:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5576:63:25" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8745, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5653:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8746, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5667:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5667:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5667:23:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5653:37:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8823, - "nodeType": "Block", - "src": "6002:295:25", - "statements": [ - { - "assignments": [ - 8788 - ], - "declarations": [ - { - "constant": false, - "id": 8788, - "mutability": "mutable", - "name": "R", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8823, - "src": "6016:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6016:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8800, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8796, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "6097:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8793, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "6081:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8791, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "6066:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "6066:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6066:26:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "6066:30:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6066:46:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8798, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "6130:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8789, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6028:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "6028:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:130:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6016:142:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8801, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "6172:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8810, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "6221:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8811, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "6226:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8808, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6205:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "6205:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6205:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8805, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "6196:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8802, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6176:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "6176:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6176:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6176:24:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6176:28:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6176:53:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6172:57:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8815, - "nodeType": "ExpressionStatement", - "src": "6172:57:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8818, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "6266:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6266:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8820, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "6284:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8816, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6250:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "6250:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6250:36:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8737, - "id": 8822, - "nodeType": "Return", - "src": "6243:43:25" - } - ] - }, - "id": 8824, - "nodeType": "IfStatement", - "src": "5649:648:25", - "trueBody": { - "id": 8786, - "nodeType": "Block", - "src": "5692:304:25", - "statements": [ - { - "assignments": [ - 8751 - ], - "declarations": [ - { - "constant": false, - "id": 8751, - "mutability": "mutable", - "name": "R", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8786, - "src": "5706:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5706:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8763, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8759, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5789:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8756, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "5772:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8754, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "5756:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5756:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5756:28:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5756:32:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5756:49:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8761, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5823:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8752, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5718:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "5718:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5718:134:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5706:146:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8764, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "5866:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8773, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "5915:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8774, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "5920:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8771, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5899:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "5899:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5899:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8768, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "5890:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8765, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5870:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "5870:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5870:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5870:24:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5870:28:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5870:53:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5866:57:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8778, - "nodeType": "ExpressionStatement", - "src": "5866:57:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8781, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "5965:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5965:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8783, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "5983:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8779, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5944:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "5944:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5944:41:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8737, - "id": 8785, - "nodeType": "Return", - "src": "5937:48:25" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "ee27c689", - "id": 8826, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMidPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8734, - "nodeType": "ParameterList", - "parameters": [], - "src": "5524:2:25" - }, - "returnParameters": { - "id": 8737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8736, - "mutability": "mutable", - "name": "midPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8826, - "src": "5548:16:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5548:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5547:18:25" - }, - "scope": 8853, - "src": "5504:799:25", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8851, - "nodeType": "Block", - "src": "6433:108:25", - "statements": [ - { - "assignments": [ - 8838 - ], - "declarations": [ - { - "constant": false, - "id": 8838, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8851, - "src": "6443:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6443:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8841, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8839, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "6455:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6455:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6443:28:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8844, - "name": "B0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8828, - "src": "6515:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8845, - "name": "B1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8830, - "src": "6519:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8846, - "name": "B2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8832, - "src": "6523:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8847, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8838, - "src": "6527:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8848, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "6530:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8842, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "6488:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_GeneralIntegrate", - "nodeType": "MemberAccess", - "referencedDeclaration": 10751, - "src": "6488:26:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6488:46:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8836, - "id": 8850, - "nodeType": "Return", - "src": "6481:53:25" - } - ] - }, - "documentation": null, - "id": 8852, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveIntegrate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8828, - "mutability": "mutable", - "name": "B0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6344:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6344:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8830, - "mutability": "mutable", - "name": "B1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6364:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6364:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8832, - "mutability": "mutable", - "name": "B2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6384:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6384:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:66:25" - }, - "returnParameters": { - "id": 8836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6424:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6424:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6423:9:25" - }, - "scope": 8853, - "src": "6309:232:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 8854, - "src": "444:6425:25" - } - ], - "src": "78:6792:25" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "exportedSymbols": { - "Pricing": [ - 8853 - ] - }, - "id": 8854, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8371, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:25" - }, - { - "id": 8372, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:25" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 8374, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 11624, - "src": "136:45:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8373, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 8376, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 11079, - "src": "182:51:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8375, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol", - "file": "../lib/DODOMath.sol", - "id": 8378, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 10993, - "src": "234:45:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8377, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:8:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 8380, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 11632, - "src": "280:39:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8379, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "288:5:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 8382, - "nodeType": "ImportDirective", - "scope": 8854, - "sourceUnit": 9614, - "src": "320:38:25", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8381, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "328:7:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8384, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "464:7:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 8385, - "nodeType": "InheritanceSpecifier", - "src": "464:7:25" - } - ], - "contractDependencies": [ - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 8383, - "nodeType": "StructuredDocumentation", - "src": "361:82:25", - "text": " @title Pricing\n @author DODO Breeder\n @notice DODO Pricing model" - }, - "fullyImplemented": true, - "id": 8853, - "linearizedBaseContracts": [ - 8853, - 9613, - 11296, - 11166 - ], - "name": "Pricing", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8388, - "libraryName": { - "contractScope": null, - "id": 8386, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "484:8:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "478:27:25", - "typeName": { - "id": 8387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "497:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 8422, - "nodeType": "Block", - "src": "711:466:25", - "statements": [ - { - "assignments": [ - 8398 - ], - "declarations": [ - { - "constant": false, - "id": 8398, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "721:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8401, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8399, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "733:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "733:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "721:28:25" - }, - { - "assignments": [ - 8403 - ], - "declarations": [ - { - "constant": false, - "id": 8403, - "mutability": "mutable", - "name": "Q2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "759:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "759:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8416, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8406, - "name": "targetQuoteTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "826:22:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8407, - "name": "targetQuoteTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "862:22:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8410, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8398, - "src": "914:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8411, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8390, - "src": "917:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8408, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "898:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "898:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:26:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 8413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "938:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 8414, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "957:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8404, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "772:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTrade", - "nodeType": "MemberAccess", - "referencedDeclaration": 10925, - "src": "772:40:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,bool,uint256) pure returns (uint256)" - } - }, - "id": 8415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "772:198:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "759:211:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8419, - "name": "Q2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "1167:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8417, - "name": "targetQuoteTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "1140:22:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1140:26:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1140:30:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8396, - "id": 8421, - "nodeType": "Return", - "src": "1133:37:25" - } - ] - }, - "documentation": null, - "id": 8423, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ROneSellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8390, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8423, - "src": "585:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8392, - "mutability": "mutable", - "name": "targetQuoteTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8423, - "src": "601:30:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "584:48:25" - }, - "returnParameters": { - "id": 8396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8395, - "mutability": "mutable", - "name": "receiveQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8423, - "src": "680:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:27:25" - }, - "scope": 8853, - "src": "557:620:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8456, - "nodeType": "Block", - "src": "1331:266:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8433, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8425, - "src": "1349:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 8434, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1358:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1349:30:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 8436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1381:30:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1341:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1341:71:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8438, - "nodeType": "ExpressionStatement", - "src": "1341:71:25" - }, - { - "assignments": [ - 8440 - ], - "declarations": [ - { - "constant": false, - "id": 8440, - "mutability": "mutable", - "name": "B2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8456, - "src": "1422:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1422:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8445, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8443, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8425, - "src": "1461:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8441, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1435:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1435:25:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1435:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1422:46:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8446, - "name": "payQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8430, - "src": "1478:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8448, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1511:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8449, - "name": "targetBaseTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "1534:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8450, - "name": "B2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8440, - "src": "1557:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8447, - "name": "_RAboveIntegrate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "1494:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 8451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1494:66:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1478:82:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8453, - "nodeType": "ExpressionStatement", - "src": "1478:82:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8454, - "name": "payQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8430, - "src": "1577:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8431, - "id": 8455, - "nodeType": "Return", - "src": "1570:20:25" - } - ] - }, - "documentation": null, - "id": 8457, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ROneBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8425, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8457, - "src": "1210:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1210:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8427, - "mutability": "mutable", - "name": "targetBaseTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8457, - "src": "1226:29:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1226:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1209:47:25" - }, - "returnParameters": { - "id": 8431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8430, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8457, - "src": "1304:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1304:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1303:23:25" - }, - "scope": 8853, - "src": "1183:414:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8493, - "nodeType": "Block", - "src": "1823:288:25", - "statements": [ - { - "assignments": [ - 8469 - ], - "declarations": [ - { - "constant": false, - "id": 8469, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8493, - "src": "1833:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1833:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8472, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8470, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "1845:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1845:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1833:28:25" - }, - { - "assignments": [ - 8474 - ], - "declarations": [ - { - "constant": false, - "id": 8474, - "mutability": "mutable", - "name": "Q2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8493, - "src": "1871:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1871:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8487, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8477, - "name": "targetQuoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8463, - "src": "1938:17:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8478, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8461, - "src": "1969:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8481, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8469, - "src": "2011:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8482, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8459, - "src": "2014:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8479, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "1995:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "1995:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1995:26:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 8484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2035:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 8485, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2054:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8475, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "1884:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTrade", - "nodeType": "MemberAccess", - "referencedDeclaration": 10925, - "src": "1884:40:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,bool,uint256) pure returns (uint256)" - } - }, - "id": 8486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1884:183:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1871:196:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8490, - "name": "Q2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8474, - "src": "2101:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8488, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8461, - "src": "2084:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2084:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2084:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8467, - "id": 8492, - "nodeType": "Return", - "src": "2077:27:25" - } - ] - }, - "documentation": null, - "id": 8494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RBelowSellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8459, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1688:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1688:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8461, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1712:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1712:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8463, - "mutability": "mutable", - "name": "targetQuoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1742:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1742:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1678:95:25" - }, - "returnParameters": { - "id": 8467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8466, - "mutability": "mutable", - "name": "receieQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "1797:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1797:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1796:26:25" - }, - "scope": 8853, - "src": "1649:462:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8530, - "nodeType": "Block", - "src": "2287:443:25", - "statements": [ - { - "assignments": [ - 8506 - ], - "declarations": [ - { - "constant": false, - "id": 8506, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8530, - "src": "2449:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2449:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8509, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8507, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "2461:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2461:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2449:28:25" - }, - { - "assignments": [ - 8511 - ], - "declarations": [ - { - "constant": false, - "id": 8511, - "mutability": "mutable", - "name": "Q2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8530, - "src": "2487:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2487:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8514, - "name": "targetQuoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8500, - "src": "2554:17:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8515, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8498, - "src": "2585:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8518, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8506, - "src": "2631:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8519, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8496, - "src": "2634:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8516, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2611:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mulCeil", - "nodeType": "MemberAccess", - "referencedDeclaration": 11041, - "src": "2611:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2611:30:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2655:4:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 8522, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2673:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8512, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "2500:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTrade", - "nodeType": "MemberAccess", - "referencedDeclaration": 10925, - "src": "2500:40:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,bool,uint256) pure returns (uint256)" - } - }, - "id": 8523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2500:186:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2487:199:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8527, - "name": "quoteBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8498, - "src": "2710:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8525, - "name": "Q2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8511, - "src": "2703:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2703:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2703:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8504, - "id": 8529, - "nodeType": "Return", - "src": "2696:27:25" - } - ] - }, - "documentation": null, - "id": 8531, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RBelowBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8496, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2155:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2155:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8498, - "mutability": "mutable", - "name": "quoteBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2179:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2179:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8500, - "mutability": "mutable", - "name": "targetQuoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2209:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2209:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2145:95:25" - }, - "returnParameters": { - "id": 8504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8503, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8531, - "src": "2264:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2264:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2263:23:25" - }, - "scope": 8853, - "src": "2117:613:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8570, - "nodeType": "Block", - "src": "2810:504:25", - "statements": [ - { - "assignments": [ - 8537 - ], - "declarations": [ - { - "constant": false, - "id": 8537, - "mutability": "mutable", - "name": "spareBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "2927:17:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2927:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8542, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8540, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2966:26:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8538, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "2947:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "2947:18:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2947:46:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2927:66:25" - }, - { - "assignments": [ - 8544 - ], - "declarations": [ - { - "constant": false, - "id": 8544, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "3003:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3003:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8547, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8545, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "3019:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3019:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3003:32:25" - }, - { - "assignments": [ - 8549 - ], - "declarations": [ - { - "constant": false, - "id": 8549, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "3045:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3045:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8555, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8552, - "name": "spareBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8537, - "src": "3082:9:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8553, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8544, - "src": "3093:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8550, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3066:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "3066:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3066:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3045:54:25" - }, - { - "assignments": [ - 8557 - ], - "declarations": [ - { - "constant": false, - "id": 8557, - "mutability": "mutable", - "name": "newTargetQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "3109:22:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8556, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3109:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8564, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8560, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3189:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8561, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "3218:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8562, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8549, - "src": "3235:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8558, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "3134:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "3134:41:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3134:121:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3109:146:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8567, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3291:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8565, - "name": "newTargetQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8557, - "src": "3272:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3272:18:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3272:35:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8535, - "id": 8569, - "nodeType": "Return", - "src": "3265:42:25" - } - ] - }, - "documentation": null, - "id": 8571, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RBelowBackToOne", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8532, - "nodeType": "ParameterList", - "parameters": [], - "src": "2761:2:25" - }, - "returnParameters": { - "id": 8535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8534, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8571, - "src": "2787:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2787:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2786:23:25" - }, - "scope": 8853, - "src": "2736:578:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8602, - "nodeType": "Block", - "src": "3534:192:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8583, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8573, - "src": "3552:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 8584, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8575, - "src": "3561:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3552:20:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 8586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:30:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 8582, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3544:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3544:61:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8588, - "nodeType": "ExpressionStatement", - "src": "3544:61:25" - }, - { - "assignments": [ - 8590 - ], - "declarations": [ - { - "constant": false, - "id": 8590, - "mutability": "mutable", - "name": "B2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8602, - "src": "3615:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3615:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8595, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8593, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8573, - "src": "3644:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8591, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8575, - "src": "3628:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3628:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3628:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3615:36:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8597, - "name": "targetBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8577, - "src": "3685:16:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8598, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8575, - "src": "3703:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8599, - "name": "B2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8590, - "src": "3716:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8596, - "name": "_RAboveIntegrate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "3668:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 8600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3668:51:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8581, - "id": 8601, - "nodeType": "Return", - "src": "3661:58:25" - } - ] - }, - "documentation": null, - "id": 8603, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8573, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3404:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3404:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8575, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3428:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3428:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8577, - "mutability": "mutable", - "name": "targetBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3457:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3457:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3394:93:25" - }, - "returnParameters": { - "id": 8581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8580, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8603, - "src": "3511:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3511:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3510:23:25" - }, - "scope": 8853, - "src": "3366:360:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8627, - "nodeType": "Block", - "src": "3905:269:25", - "statements": [ - { - "assignments": [ - 8615 - ], - "declarations": [ - { - "constant": false, - "id": 8615, - "mutability": "mutable", - "name": "B1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8627, - "src": "4063:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4063:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8620, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8618, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8605, - "src": "4092:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8616, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8607, - "src": "4076:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4076:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4076:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4063:36:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8622, - "name": "targetBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8609, - "src": "4133:16:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8623, - "name": "B1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8615, - "src": "4151:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8624, - "name": "baseBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8607, - "src": "4155:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8621, - "name": "_RAboveIntegrate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "4116:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 8625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4116:51:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8613, - "id": 8626, - "nodeType": "Return", - "src": "4109:58:25" - } - ] - }, - "documentation": null, - "id": 8628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveSellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8605, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3771:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3771:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8607, - "mutability": "mutable", - "name": "baseBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3795:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3795:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8609, - "mutability": "mutable", - "name": "targetBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3824:24:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3824:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3761:93:25" - }, - "returnParameters": { - "id": 8613, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8612, - "mutability": "mutable", - "name": "receiveQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8628, - "src": "3878:25:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3878:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3877:27:25" - }, - "scope": 8853, - "src": "3732:442:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8667, - "nodeType": "Block", - "src": "4253:509:25", - "statements": [ - { - "assignments": [ - 8634 - ], - "declarations": [ - { - "constant": false, - "id": 8634, - "mutability": "mutable", - "name": "spareQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4370:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4370:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8639, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8637, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4411:27:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8635, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "4391:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4391:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4391:48:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4370:69:25" - }, - { - "assignments": [ - 8641 - ], - "declarations": [ - { - "constant": false, - "id": 8641, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4449:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4449:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8644, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8642, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "4465:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4449:32:25" - }, - { - "assignments": [ - 8646 - ], - "declarations": [ - { - "constant": false, - "id": 8646, - "mutability": "mutable", - "name": "fairAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4491:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4491:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8652, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8649, - "name": "spareQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "4533:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8650, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8641, - "src": "4545:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8647, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4512:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "4512:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4512:39:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4491:60:25" - }, - { - "assignments": [ - 8654 - ], - "declarations": [ - { - "constant": false, - "id": 8654, - "mutability": "mutable", - "name": "newTargetBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "4561:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4561:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8661, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8657, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "4640:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8658, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "4668:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8659, - "name": "fairAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8646, - "src": "4685:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8655, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "4585:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_SolveQuadraticFunctionForTarget", - "nodeType": "MemberAccess", - "referencedDeclaration": 10991, - "src": "4585:41:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4585:120:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4561:144:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8664, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "4740:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8662, - "name": "newTargetBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8654, - "src": "4722:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4722:17:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4722:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8632, - "id": 8666, - "nodeType": "Return", - "src": "4715:40:25" - } - ] - }, - "documentation": null, - "id": 8668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveBackToOne", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8629, - "nodeType": "ParameterList", - "parameters": [], - "src": "4205:2:25" - }, - "returnParameters": { - "id": 8632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8631, - "mutability": "mutable", - "name": "payBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8668, - "src": "4231:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4231:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4230:22:25" - }, - "scope": 8853, - "src": "4180:582:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8732, - "nodeType": "Block", - "src": "4910:588:25", - "statements": [ - { - "assignments": [ - 8676 - ], - "declarations": [ - { - "constant": false, - "id": 8676, - "mutability": "mutable", - "name": "Q", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "4920:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4920:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8678, - "initialValue": { - "argumentTypes": null, - "id": 8677, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "4932:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4920:27:25" - }, - { - "assignments": [ - 8680 - ], - "declarations": [ - { - "constant": false, - "id": 8680, - "mutability": "mutable", - "name": "B", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "4957:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4957:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8682, - "initialValue": { - "argumentTypes": null, - "id": 8681, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "4969:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4957:26:25" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8683, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "4997:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8684, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5011:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5011:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5011:17:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "4997:31:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8693, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5129:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8694, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5143:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5143:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5143:23:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5129:37:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8711, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5316:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8712, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5330:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5330:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5330:23:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5316:37:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8729, - "nodeType": "IfStatement", - "src": "5312:180:25", - "trueBody": { - "id": 8728, - "nodeType": "Block", - "src": "5355:137:25", - "statements": [ - { - "assignments": [ - 8717 - ], - "declarations": [ - { - "constant": false, - "id": 8717, - "mutability": "mutable", - "name": "payBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8728, - "src": "5369:20:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5369:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8720, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8718, - "name": "_RAboveBackToOne", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8668, - "src": "5392:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:18:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5369:41:25" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8723, - "name": "payBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8717, - "src": "5438:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8721, - "name": "B", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8680, - "src": "5432:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5432:5:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5432:19:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8725, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "5453:27:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8726, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5431:50:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 8674, - "id": 8727, - "nodeType": "Return", - "src": "5424:57:25" - } - ] - } - }, - "id": 8730, - "nodeType": "IfStatement", - "src": "5125:367:25", - "trueBody": { - "id": 8710, - "nodeType": "Block", - "src": "5168:138:25", - "statements": [ - { - "assignments": [ - 8699 - ], - "declarations": [ - { - "constant": false, - "id": 8699, - "mutability": "mutable", - "name": "payQuoteToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8710, - "src": "5182:21:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8702, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8700, - "name": "_RBelowBackToOne", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8571, - "src": "5206:16:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5206:18:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5182:42:25" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 8703, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "5246:26:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8706, - "name": "payQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8699, - "src": "5280:13:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8704, - "name": "Q", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8676, - "src": "5274:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5274:5:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5274:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8708, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5245:50:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 8674, - "id": 8709, - "nodeType": "Return", - "src": "5238:57:25" - } - ] - } - }, - "id": 8731, - "nodeType": "IfStatement", - "src": "4993:499:25", - "trueBody": { - "id": 8692, - "nodeType": "Block", - "src": "5030:89:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 8688, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "5052:26:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8689, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "5080:27:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8690, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5051:57:25", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 8674, - "id": 8691, - "nodeType": "Return", - "src": "5044:64:25" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "ffa64225", - "id": 8733, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getExpectedTarget", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8669, - "nodeType": "ParameterList", - "parameters": [], - "src": "4845:2:25" - }, - "returnParameters": { - "id": 8674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8671, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8733, - "src": "4869:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4869:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8673, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8733, - "src": "4889:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4889:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4868:41:25" - }, - "scope": 8853, - "src": "4819:679:25", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8825, - "nodeType": "Block", - "src": "5566:737:25", - "statements": [ - { - "assignments": [ - 8739, - 8741 - ], - "declarations": [ - { - "constant": false, - "id": 8739, - "mutability": "mutable", - "name": "baseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8825, - "src": "5577:18:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5577:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8741, - "mutability": "mutable", - "name": "quoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8825, - "src": "5597:19:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5597:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8744, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8742, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "5620:17:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 8743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5620:19:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5576:63:25" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 8749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8745, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5653:10:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8746, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5667:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 8747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5667:13:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 8748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5667:23:25", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5653:37:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 8823, - "nodeType": "Block", - "src": "6002:295:25", - "statements": [ - { - "assignments": [ - 8788 - ], - "declarations": [ - { - "constant": false, - "id": 8788, - "mutability": "mutable", - "name": "R", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8823, - "src": "6016:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6016:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8800, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8796, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "6097:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8793, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "6081:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8791, - "name": "baseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8739, - "src": "6066:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "6066:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6066:26:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "6066:30:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6066:46:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8798, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "6130:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8789, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6028:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "6028:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:130:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6016:142:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8801, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "6172:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8810, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "6221:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8811, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "6226:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8808, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6205:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "6205:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6205:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8805, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "6196:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8802, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6176:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "6176:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6176:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6176:24:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6176:28:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6176:53:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6172:57:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8815, - "nodeType": "ExpressionStatement", - "src": "6172:57:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8818, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "6266:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6266:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8820, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "6284:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8816, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "6250:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "6250:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6250:36:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8737, - "id": 8822, - "nodeType": "Return", - "src": "6243:43:25" - } - ] - }, - "id": 8824, - "nodeType": "IfStatement", - "src": "5649:648:25", - "trueBody": { - "id": 8786, - "nodeType": "Block", - "src": "5692:304:25", - "statements": [ - { - "assignments": [ - 8751 - ], - "declarations": [ - { - "constant": false, - "id": 8751, - "mutability": "mutable", - "name": "R", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8786, - "src": "5706:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5706:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8763, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8759, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5789:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8756, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "5772:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8754, - "name": "quoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8741, - "src": "5756:11:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5756:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5756:28:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5756:32:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5756:49:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8761, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5823:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8752, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5718:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "5718:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5718:134:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5706:146:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 8777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8764, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "5866:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8773, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "5915:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8774, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "5920:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8771, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5899:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "5899:15:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5899:23:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8768, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "5890:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8765, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5870:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "5870:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5870:19:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5870:24:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5870:28:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5870:53:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5866:57:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8778, - "nodeType": "ExpressionStatement", - "src": "5866:57:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8781, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "5965:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5965:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8783, - "name": "R", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "5983:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8779, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "5944:11:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 8780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "5944:20:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5944:41:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8737, - "id": 8785, - "nodeType": "Return", - "src": "5937:48:25" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "ee27c689", - "id": 8826, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMidPrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8734, - "nodeType": "ParameterList", - "parameters": [], - "src": "5524:2:25" - }, - "returnParameters": { - "id": 8737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8736, - "mutability": "mutable", - "name": "midPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8826, - "src": "5548:16:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5548:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5547:18:25" - }, - "scope": 8853, - "src": "5504:799:25", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8851, - "nodeType": "Block", - "src": "6433:108:25", - "statements": [ - { - "assignments": [ - 8838 - ], - "declarations": [ - { - "constant": false, - "id": 8838, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8851, - "src": "6443:9:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6443:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8841, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8839, - "name": "getOraclePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9550, - "src": "6455:14:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 8840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6455:16:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6443:28:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8844, - "name": "B0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8828, - "src": "6515:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8845, - "name": "B1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8830, - "src": "6519:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8846, - "name": "B2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8832, - "src": "6523:2:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8847, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8838, - "src": "6527:1:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8848, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "6530:3:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8842, - "name": "DODOMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10992, - "src": "6488:8:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DODOMath_$10992_$", - "typeString": "type(library DODOMath)" - } - }, - "id": 8843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_GeneralIntegrate", - "nodeType": "MemberAccess", - "referencedDeclaration": 10751, - "src": "6488:26:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 8849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6488:46:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8836, - "id": 8850, - "nodeType": "Return", - "src": "6481:53:25" - } - ] - }, - "documentation": null, - "id": 8852, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_RAboveIntegrate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8828, - "mutability": "mutable", - "name": "B0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6344:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6344:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8830, - "mutability": "mutable", - "name": "B1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6364:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6364:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8832, - "mutability": "mutable", - "name": "B2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6384:10:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6384:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:66:25" - }, - "returnParameters": { - "id": 8836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "6424:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6424:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6423:9:25" - }, - "scope": 8853, - "src": "6309:232:25", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 8854, - "src": "444:6425:25" - } - ], - "src": "78:6792:25" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.692Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Pricing" - }, - "userdoc": { - "methods": {}, - "notice": "DODO Pricing model" - } -} \ No newline at end of file diff --git a/build-v1/contracts/ReentrancyGuard.json b/build-v1/contracts/ReentrancyGuard.json deleted file mode 100644 index e3e1f09..0000000 --- a/build-v1/contracts/ReentrancyGuard.json +++ /dev/null @@ -1,648 +0,0 @@ -{ - "contractName": "ReentrancyGuard", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"ReentrancyGuard\"},\"userdoc\":{\"methods\":{},\"notice\":\"Protect functions from Reentrancy Attack\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209469d56347db7a53cb85062c49206c7bbc51a24fa41c5e625c5289740992784964736f6c63430006090033", - "deployedBytecode": "0x6080604052600080fdfea26469706673582212209469d56347db7a53cb85062c49206c7bbc51a24fa41c5e625c5289740992784964736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "249:362:39:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "249:362:39:-:0;;;;;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n/**\n * @title ReentrancyGuard\n * @author DODO Breeder\n *\n * @notice Protect functions from Reentrancy Attack\n */\ncontract ReentrancyGuard {\n // https://solidity.readthedocs.io/en/latest/control-structures.html?highlight=zero-state#scoping-and-declarations\n // zero-state of _ENTERED_ is false\n bool private _ENTERED_;\n\n modifier preventReentrant() {\n require(!_ENTERED_, \"REENTRANT\");\n _ENTERED_ = true;\n _;\n _ENTERED_ = false;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "exportedSymbols": { - "ReentrancyGuard": [ - 11296 - ] - }, - "id": 11297, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11273, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:39" - }, - { - "id": 11274, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:39" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 11275, - "nodeType": "StructuredDocumentation", - "src": "136:112:39", - "text": " @title ReentrancyGuard\n @author DODO Breeder\n @notice Protect functions from Reentrancy Attack" - }, - "fullyImplemented": true, - "id": 11296, - "linearizedBaseContracts": [ - 11296 - ], - "name": "ReentrancyGuard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 11277, - "mutability": "mutable", - "name": "_ENTERED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11296, - "src": "439:22:39", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11276, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "439:4:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 11294, - "nodeType": "Block", - "src": "496:113:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "514:10:39", - "subExpression": { - "argumentTypes": null, - "id": 11280, - "name": "_ENTERED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11277, - "src": "515:9:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5245454e5452414e54", - "id": 11282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "526:11:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40d1ed539991cf8f0c0e2cf9c325da6c7b687870b5825a46b3a1bc60970fec73", - "typeString": "literal_string \"REENTRANT\"" - }, - "value": "REENTRANT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_40d1ed539991cf8f0c0e2cf9c325da6c7b687870b5825a46b3a1bc60970fec73", - "typeString": "literal_string \"REENTRANT\"" - } - ], - "id": 11279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "506:7:39", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "506:32:39", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11284, - "nodeType": "ExpressionStatement", - "src": "506:32:39" - }, - { - "expression": { - "argumentTypes": null, - "id": 11287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11285, - "name": "_ENTERED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11277, - "src": "548:9:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "560:4:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "548:16:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11288, - "nodeType": "ExpressionStatement", - "src": "548:16:39" - }, - { - "id": 11289, - "nodeType": "PlaceholderStatement", - "src": "574:1:39" - }, - { - "expression": { - "argumentTypes": null, - "id": 11292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11290, - "name": "_ENTERED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11277, - "src": "585:9:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "597:5:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "585:17:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11293, - "nodeType": "ExpressionStatement", - "src": "585:17:39" - } - ] - }, - "documentation": null, - "id": 11295, - "name": "preventReentrant", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11278, - "nodeType": "ParameterList", - "parameters": [], - "src": "493:2:39" - }, - "src": "468:141:39", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 11297, - "src": "249:362:39" - } - ], - "src": "78:534:39" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "exportedSymbols": { - "ReentrancyGuard": [ - 11296 - ] - }, - "id": 11297, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11273, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:39" - }, - { - "id": 11274, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:39" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 11275, - "nodeType": "StructuredDocumentation", - "src": "136:112:39", - "text": " @title ReentrancyGuard\n @author DODO Breeder\n @notice Protect functions from Reentrancy Attack" - }, - "fullyImplemented": true, - "id": 11296, - "linearizedBaseContracts": [ - 11296 - ], - "name": "ReentrancyGuard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 11277, - "mutability": "mutable", - "name": "_ENTERED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11296, - "src": "439:22:39", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11276, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "439:4:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 11294, - "nodeType": "Block", - "src": "496:113:39", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "514:10:39", - "subExpression": { - "argumentTypes": null, - "id": 11280, - "name": "_ENTERED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11277, - "src": "515:9:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5245454e5452414e54", - "id": 11282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "526:11:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40d1ed539991cf8f0c0e2cf9c325da6c7b687870b5825a46b3a1bc60970fec73", - "typeString": "literal_string \"REENTRANT\"" - }, - "value": "REENTRANT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_40d1ed539991cf8f0c0e2cf9c325da6c7b687870b5825a46b3a1bc60970fec73", - "typeString": "literal_string \"REENTRANT\"" - } - ], - "id": 11279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "506:7:39", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "506:32:39", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11284, - "nodeType": "ExpressionStatement", - "src": "506:32:39" - }, - { - "expression": { - "argumentTypes": null, - "id": 11287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11285, - "name": "_ENTERED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11277, - "src": "548:9:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 11286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "560:4:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "548:16:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11288, - "nodeType": "ExpressionStatement", - "src": "548:16:39" - }, - { - "id": 11289, - "nodeType": "PlaceholderStatement", - "src": "574:1:39" - }, - { - "expression": { - "argumentTypes": null, - "id": 11292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11290, - "name": "_ENTERED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11277, - "src": "585:9:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 11291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "597:5:39", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "585:17:39", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11293, - "nodeType": "ExpressionStatement", - "src": "585:17:39" - } - ] - }, - "documentation": null, - "id": 11295, - "name": "preventReentrant", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 11278, - "nodeType": "ParameterList", - "parameters": [], - "src": "493:2:39" - }, - "src": "468:141:39", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 11297, - "src": "249:362:39" - } - ], - "src": "78:534:39" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.723Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "ReentrancyGuard" - }, - "userdoc": { - "methods": {}, - "notice": "Protect functions from Reentrancy Attack" - } -} \ No newline at end of file diff --git a/build-v1/contracts/SafeERC20.json b/build-v1/contracts/SafeERC20.json deleted file mode 100644 index c648604..0000000 --- a/build-v1/contracts/SafeERC20.json +++ /dev/null @@ -1,4183 +0,0 @@ -{ - "contractName": "SafeERC20", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220efc22d9f54308584218dd0ff5e271f4cf43f09311e96d76e49aeef36f68a667464736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220efc22d9f54308584218dd0ff5e271f4cf43f09311e96d76e49aeef36f68a667464736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "747:2617:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "747:2617:40:-:0;;;;;;;;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n This is a simplified version of OpenZepplin's SafeERC20 library\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {SafeMath} from \"./SafeMath.sol\";\n\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n using SafeMath for uint256;\n\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(\n token,\n abi.encodeWithSelector(token.transferFrom.selector, from, to, value)\n );\n }\n\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n // solhint-disable-next-line max-line-length\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves.\n\n // A Solidity high level call has three parts:\n // 1. The target address is checked to verify it contains contract code\n // 2. The call itself is made, and success asserted\n // 3. The return value is decoded, which in turn checks the size of the returned data.\n // solhint-disable-next-line max-line-length\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = address(token).call(data);\n require(success, \"SafeERC20: low-level call failed\");\n\n if (returndata.length > 0) {\n // Return data is optional\n // solhint-disable-next-line max-line-length\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "exportedSymbols": { - "SafeERC20": [ - 11440 - ] - }, - "id": 11441, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11298, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "146:22:40" - }, - { - "id": 11299, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "169:33:40" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 11301, - "nodeType": "ImportDirective", - "scope": 11441, - "sourceUnit": 10608, - "src": "204:42:40", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11300, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "212:6:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 11303, - "nodeType": "ImportDirective", - "scope": 11441, - "sourceUnit": 11624, - "src": "247:40:40", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11302, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "255:8:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 11304, - "nodeType": "StructuredDocumentation", - "src": "290:456:40", - "text": " @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc." - }, - "fullyImplemented": true, - "id": 11440, - "linearizedBaseContracts": [ - 11440 - ], - "name": "SafeERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11307, - "libraryName": { - "contractScope": null, - "id": 11305, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "777:8:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "771:27:40", - "typeName": { - "id": 11306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 11328, - "nodeType": "Block", - "src": "906:103:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11317, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11309, - "src": "936:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11320, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11309, - "src": "966:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "966:14:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 11322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "966:23:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11323, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11311, - "src": "991:2:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11313, - "src": "995:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11318, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "943:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "943:22:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "943:58:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11316, - "name": "_callOptionalReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11439, - "src": "916:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (contract IERC20,bytes memory)" - } - }, - "id": 11326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "916:86:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11327, - "nodeType": "ExpressionStatement", - "src": "916:86:40" - } - ] - }, - "documentation": null, - "id": 11329, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11309, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11329, - "src": "835:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11308, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "835:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11311, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11329, - "src": "857:10:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "857:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11313, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11329, - "src": "877:13:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "877:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:71:40" - }, - "returnParameters": { - "id": 11315, - "nodeType": "ParameterList", - "parameters": [], - "src": "906:0:40" - }, - "scope": 11440, - "src": "804:205:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11353, - "nodeType": "Block", - "src": "1143:147:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11341, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11331, - "src": "1186:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11344, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11331, - "src": "1228:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "1228:18:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 11346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1228:27:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11347, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11333, - "src": "1257:4:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11348, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11335, - "src": "1263:2:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11349, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11337, - "src": "1267:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11342, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1205:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1205:22:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:68:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11340, - "name": "_callOptionalReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11439, - "src": "1153:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (contract IERC20,bytes memory)" - } - }, - "id": 11351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1153:130:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11352, - "nodeType": "ExpressionStatement", - "src": "1153:130:40" - } - ] - }, - "documentation": null, - "id": 11354, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11331, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1050:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11330, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "1050:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11333, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1072:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1072:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11335, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1094:10:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1094:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11337, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1114:13:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1114:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1040:93:40" - }, - "returnParameters": { - "id": 11339, - "nodeType": "ParameterList", - "parameters": [], - "src": "1143:0:40" - }, - "scope": 11440, - "src": "1015:275:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11395, - "nodeType": "Block", - "src": "1402:550:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11364, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11360, - "src": "1704:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1713:1:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1704:10:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 11367, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1703:12:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11372, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1744:4:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - ], - "id": 11371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1736:7:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1736:7:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1736:13:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11374, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11358, - "src": "1751:7:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 11368, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11356, - "src": "1720:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 10584, - "src": "1720:15:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 11375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:39:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1763:1:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1720:44:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 11378, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1719:46:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1703:62:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", - "id": 11380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1779:56:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25", - "typeString": "literal_string \"SafeERC20: approve from non-zero to non-zero allowance\"" - }, - "value": "SafeERC20: approve from non-zero to non-zero allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25", - "typeString": "literal_string \"SafeERC20: approve from non-zero to non-zero allowance\"" - } - ], - "id": 11363, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1682:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1682:163:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11382, - "nodeType": "ExpressionStatement", - "src": "1682:163:40" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11384, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11356, - "src": "1875:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11387, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11356, - "src": "1905:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10594, - "src": "1905:13:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 11389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1905:22:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11390, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11358, - "src": "1929:7:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11391, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11360, - "src": "1938:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11385, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1882:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1882:22:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1882:62:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11383, - "name": "_callOptionalReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11439, - "src": "1855:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (contract IERC20,bytes memory)" - } - }, - "id": 11393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1855:90:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11394, - "nodeType": "ExpressionStatement", - "src": "1855:90:40" - } - ] - }, - "documentation": null, - "id": 11396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeApprove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11356, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11396, - "src": "1326:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11355, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "1326:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11358, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11396, - "src": "1348:15:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1348:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11360, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11396, - "src": "1373:13:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1373:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1316:76:40" - }, - "returnParameters": { - "id": 11362, - "nodeType": "ParameterList", - "parameters": [], - "src": "1402:0:40" - }, - "scope": 11440, - "src": "1296:656:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11438, - "nodeType": "Block", - "src": "2405:957:40", - "statements": [ - { - "assignments": [ - 11405, - 11407 - ], - "declarations": [ - { - "constant": false, - "id": 11405, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11438, - "src": "2984:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11404, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2984:4:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11407, - "mutability": "mutable", - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11438, - "src": "2998:23:40", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11406, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2998:5:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11415, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11413, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11401, - "src": "3045:4:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11410, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11399, - "src": "3033:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - ], - "id": 11409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3025:7:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3025:7:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3025:14:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3025:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 11414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3025:25:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2983:67:40" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11417, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11405, - "src": "3068:7:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 11418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3077:34:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b", - "typeString": "literal_string \"SafeERC20: low-level call failed\"" - }, - "value": "SafeERC20: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b", - "typeString": "literal_string \"SafeERC20: low-level call failed\"" - } - ], - "id": 11416, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3060:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3060:52:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11420, - "nodeType": "ExpressionStatement", - "src": "3060:52:40" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11421, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11407, - "src": "3127:10:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3127:17:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3147:1:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3127:21:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11437, - "nodeType": "IfStatement", - "src": "3123:233:40", - "trueBody": { - "id": 11436, - "nodeType": "Block", - "src": "3150:206:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11428, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11407, - "src": "3279:10:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 11430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3292:4:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 11429, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3292:4:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 11431, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3291:6:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 11426, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3268:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3268:10:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 11432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3268:30:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564", - "id": 11433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3300:44:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", - "typeString": "literal_string \"SafeERC20: ERC20 operation did not succeed\"" - }, - "value": "SafeERC20: ERC20 operation did not succeed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", - "typeString": "literal_string \"SafeERC20: ERC20 operation did not succeed\"" - } - ], - "id": 11425, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3260:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3260:85:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11435, - "nodeType": "ExpressionStatement", - "src": "3260:85:40" - } - ] - } - } - ] - }, - "documentation": { - "id": 11397, - "nodeType": "StructuredDocumentation", - "src": "1958:372:40", - "text": " @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)." - }, - "id": 11439, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callOptionalReturn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11399, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11439, - "src": "2364:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11398, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "2364:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11401, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11439, - "src": "2378:17:40", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11400, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2378:5:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2363:33:40" - }, - "returnParameters": { - "id": 11403, - "nodeType": "ParameterList", - "parameters": [], - "src": "2405:0:40" - }, - "scope": 11440, - "src": "2335:1027:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 11441, - "src": "747:2617:40" - } - ], - "src": "146:3219:40" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "exportedSymbols": { - "SafeERC20": [ - 11440 - ] - }, - "id": 11441, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11298, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "146:22:40" - }, - { - "id": 11299, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "169:33:40" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 11301, - "nodeType": "ImportDirective", - "scope": 11441, - "sourceUnit": 10608, - "src": "204:42:40", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11300, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "212:6:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 11303, - "nodeType": "ImportDirective", - "scope": 11441, - "sourceUnit": 11624, - "src": "247:40:40", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 11302, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "255:8:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 11304, - "nodeType": "StructuredDocumentation", - "src": "290:456:40", - "text": " @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc." - }, - "fullyImplemented": true, - "id": 11440, - "linearizedBaseContracts": [ - 11440 - ], - "name": "SafeERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 11307, - "libraryName": { - "contractScope": null, - "id": 11305, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "777:8:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "771:27:40", - "typeName": { - "id": 11306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "body": { - "id": 11328, - "nodeType": "Block", - "src": "906:103:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11317, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11309, - "src": "936:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11320, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11309, - "src": "966:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "966:14:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 11322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "966:23:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11323, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11311, - "src": "991:2:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11324, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11313, - "src": "995:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11318, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "943:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "943:22:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "943:58:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11316, - "name": "_callOptionalReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11439, - "src": "916:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (contract IERC20,bytes memory)" - } - }, - "id": 11326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "916:86:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11327, - "nodeType": "ExpressionStatement", - "src": "916:86:40" - } - ] - }, - "documentation": null, - "id": 11329, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11309, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11329, - "src": "835:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11308, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "835:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11311, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11329, - "src": "857:10:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "857:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11313, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11329, - "src": "877:13:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "877:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:71:40" - }, - "returnParameters": { - "id": 11315, - "nodeType": "ParameterList", - "parameters": [], - "src": "906:0:40" - }, - "scope": 11440, - "src": "804:205:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11353, - "nodeType": "Block", - "src": "1143:147:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11341, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11331, - "src": "1186:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11344, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11331, - "src": "1228:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10606, - "src": "1228:18:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 11346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1228:27:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11347, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11333, - "src": "1257:4:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11348, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11335, - "src": "1263:2:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11349, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11337, - "src": "1267:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11342, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1205:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1205:22:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1205:68:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11340, - "name": "_callOptionalReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11439, - "src": "1153:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (contract IERC20,bytes memory)" - } - }, - "id": 11351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1153:130:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11352, - "nodeType": "ExpressionStatement", - "src": "1153:130:40" - } - ] - }, - "documentation": null, - "id": 11354, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11331, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1050:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11330, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "1050:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11333, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1072:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1072:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11335, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1094:10:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1094:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11337, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11354, - "src": "1114:13:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1114:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1040:93:40" - }, - "returnParameters": { - "id": 11339, - "nodeType": "ParameterList", - "parameters": [], - "src": "1143:0:40" - }, - "scope": 11440, - "src": "1015:275:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11395, - "nodeType": "Block", - "src": "1402:550:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 11379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11364, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11360, - "src": "1704:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1713:1:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1704:10:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 11367, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1703:12:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11372, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1744:4:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - ], - "id": 11371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1736:7:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1736:7:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1736:13:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11374, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11358, - "src": "1751:7:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 11368, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11356, - "src": "1720:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 10584, - "src": "1720:15:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 11375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:39:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1763:1:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1720:44:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 11378, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1719:46:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1703:62:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", - "id": 11380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1779:56:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25", - "typeString": "literal_string \"SafeERC20: approve from non-zero to non-zero allowance\"" - }, - "value": "SafeERC20: approve from non-zero to non-zero allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25", - "typeString": "literal_string \"SafeERC20: approve from non-zero to non-zero allowance\"" - } - ], - "id": 11363, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1682:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1682:163:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11382, - "nodeType": "ExpressionStatement", - "src": "1682:163:40" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11384, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11356, - "src": "1875:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11387, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11356, - "src": "1905:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 11388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10594, - "src": "1905:13:40", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 11389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1905:22:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 11390, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11358, - "src": "1929:7:40", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 11391, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11360, - "src": "1938:5:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 11385, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1882:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1882:22:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 11392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1882:62:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 11383, - "name": "_callOptionalReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11439, - "src": "1855:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (contract IERC20,bytes memory)" - } - }, - "id": 11393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1855:90:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11394, - "nodeType": "ExpressionStatement", - "src": "1855:90:40" - } - ] - }, - "documentation": null, - "id": 11396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeApprove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11356, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11396, - "src": "1326:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11355, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "1326:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11358, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11396, - "src": "1348:15:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1348:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11360, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11396, - "src": "1373:13:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1373:7:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1316:76:40" - }, - "returnParameters": { - "id": 11362, - "nodeType": "ParameterList", - "parameters": [], - "src": "1402:0:40" - }, - "scope": 11440, - "src": "1296:656:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11438, - "nodeType": "Block", - "src": "2405:957:40", - "statements": [ - { - "assignments": [ - 11405, - 11407 - ], - "declarations": [ - { - "constant": false, - "id": 11405, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11438, - "src": "2984:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11404, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2984:4:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11407, - "mutability": "mutable", - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11438, - "src": "2998:23:40", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11406, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2998:5:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11415, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11413, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11401, - "src": "3045:4:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11410, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11399, - "src": "3033:5:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - ], - "id": 11409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3025:7:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3025:7:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 11411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3025:14:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 11412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3025:19:40", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 11414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3025:25:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2983:67:40" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11417, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11405, - "src": "3068:7:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 11418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3077:34:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b", - "typeString": "literal_string \"SafeERC20: low-level call failed\"" - }, - "value": "SafeERC20: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b", - "typeString": "literal_string \"SafeERC20: low-level call failed\"" - } - ], - "id": 11416, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3060:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3060:52:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11420, - "nodeType": "ExpressionStatement", - "src": "3060:52:40" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 11421, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11407, - "src": "3127:10:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 11422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3127:17:40", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3147:1:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3127:21:40", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11437, - "nodeType": "IfStatement", - "src": "3123:233:40", - "trueBody": { - "id": 11436, - "nodeType": "Block", - "src": "3150:206:40", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11428, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11407, - "src": "3279:10:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 11430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3292:4:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 11429, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3292:4:40", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 11431, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3291:6:40", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 11426, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3268:3:40", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 11427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3268:10:40", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 11432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3268:30:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564", - "id": 11433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3300:44:40", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", - "typeString": "literal_string \"SafeERC20: ERC20 operation did not succeed\"" - }, - "value": "SafeERC20: ERC20 operation did not succeed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", - "typeString": "literal_string \"SafeERC20: ERC20 operation did not succeed\"" - } - ], - "id": 11425, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3260:7:40", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3260:85:40", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11435, - "nodeType": "ExpressionStatement", - "src": "3260:85:40" - } - ] - } - } - ] - }, - "documentation": { - "id": 11397, - "nodeType": "StructuredDocumentation", - "src": "1958:372:40", - "text": " @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)." - }, - "id": 11439, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callOptionalReturn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11399, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11439, - "src": "2364:12:40", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 11398, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "2364:6:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11401, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11439, - "src": "2378:17:40", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 11400, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2378:5:40", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2363:33:40" - }, - "returnParameters": { - "id": 11403, - "nodeType": "ParameterList", - "parameters": [], - "src": "2405:0:40" - }, - "scope": 11440, - "src": "2335:1027:40", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 11441, - "src": "747:2617:40" - } - ], - "src": "146:3219:40" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.723Z", - "devdoc": { - "details": "Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.", - "methods": {}, - "title": "SafeERC20" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/SafeMath.json b/build-v1/contracts/SafeMath.json deleted file mode 100644 index 2c06931..0000000 --- a/build-v1/contracts/SafeMath.json +++ /dev/null @@ -1,4884 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{},\"notice\":\"Math operations with safety checks that revert on error\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204f99a1a380d3a07e18cd342849bc4d71903ab299005ff70b898034a0decf695864736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204f99a1a380d3a07e18cd342849bc4d71903ab299005ff70b898034a0decf695864736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "258:1179:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "258:1179:41:-:0;;;;;;;;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\n/**\n * @title SafeMath\n * @author DODO Breeder\n *\n * @notice Math operations with safety checks that revert on error\n */\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"MUL_ERROR\");\n\n return c;\n }\n\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b > 0, \"DIVIDING_ERROR\");\n return a / b;\n }\n\n function divCeil(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 quotient = div(a, b);\n uint256 remainder = a - quotient * b;\n if (remainder > 0) {\n return quotient + 1;\n } else {\n return quotient;\n }\n }\n\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SUB_ERROR\");\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"ADD_ERROR\");\n return c;\n }\n\n function sqrt(uint256 x) internal pure returns (uint256 y) {\n uint256 z = x / 2 + 1;\n y = x;\n while (z < y) {\n y = z;\n z = (x / z + z) / 2;\n }\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 11623 - ] - }, - "id": 11624, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11442, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:41" - }, - { - "id": 11443, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:41" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 11444, - "nodeType": "StructuredDocumentation", - "src": "137:120:41", - "text": " @title SafeMath\n @author DODO Breeder\n @notice Math operations with safety checks that revert on error" - }, - "fullyImplemented": true, - "id": 11623, - "linearizedBaseContracts": [ - 11623 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 11477, - "nodeType": "Block", - "src": "348:150:41", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11453, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11446, - "src": "362:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "367:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "362:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11459, - "nodeType": "IfStatement", - "src": "358:45:41", - "trueBody": { - "id": 11458, - "nodeType": "Block", - "src": "370:33:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "391:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 11452, - "id": 11457, - "nodeType": "Return", - "src": "384:8:41" - } - ] - } - }, - { - "assignments": [ - 11461 - ], - "declarations": [ - { - "constant": false, - "id": 11461, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11477, - "src": "413:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "413:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11465, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11462, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11446, - "src": "425:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 11463, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11448, - "src": "429:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "425:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "413:17:41" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11467, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11461, - "src": "448:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11468, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11446, - "src": "452:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "448:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11470, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11448, - "src": "457:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "448:10:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d554c5f4552524f52", - "id": 11472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "460:11:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f15de75b890fc71862dae54a774d957f0461cb8f954cec0f22848d646e50110f", - "typeString": "literal_string \"MUL_ERROR\"" - }, - "value": "MUL_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f15de75b890fc71862dae54a774d957f0461cb8f954cec0f22848d646e50110f", - "typeString": "literal_string \"MUL_ERROR\"" - } - ], - "id": 11466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "440:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "440:32:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11474, - "nodeType": "ExpressionStatement", - "src": "440:32:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11475, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11461, - "src": "490:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11452, - "id": 11476, - "nodeType": "Return", - "src": "483:8:41" - } - ] - }, - "documentation": null, - "id": 11478, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11446, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11478, - "src": "294:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "294:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11448, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11478, - "src": "305:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "305:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:22:41" - }, - "returnParameters": { - "id": 11452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11451, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11478, - "src": "339:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "339:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "338:9:41" - }, - "scope": 11623, - "src": "281:217:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11498, - "nodeType": "Block", - "src": "571:71:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11488, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11482, - "src": "589:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "593:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "589:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4449564944494e475f4552524f52", - "id": 11491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "596:16:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_583be15a4a9aee3ef6d29bfba17fb7fe394ac90caa4352e8a6c1e95a37366a64", - "typeString": "literal_string \"DIVIDING_ERROR\"" - }, - "value": "DIVIDING_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_583be15a4a9aee3ef6d29bfba17fb7fe394ac90caa4352e8a6c1e95a37366a64", - "typeString": "literal_string \"DIVIDING_ERROR\"" - } - ], - "id": 11487, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "581:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "581:32:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11493, - "nodeType": "ExpressionStatement", - "src": "581:32:41" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11494, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11480, - "src": "630:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11495, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11482, - "src": "634:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "630:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11486, - "id": 11497, - "nodeType": "Return", - "src": "623:12:41" - } - ] - }, - "documentation": null, - "id": 11499, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11480, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11499, - "src": "517:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "517:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11482, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11499, - "src": "528:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "516:22:41" - }, - "returnParameters": { - "id": 11486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11499, - "src": "562:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "562:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "561:9:41" - }, - "scope": 11623, - "src": "504:138:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11535, - "nodeType": "Block", - "src": "719:209:41", - "statements": [ - { - "assignments": [ - 11509 - ], - "declarations": [ - { - "constant": false, - "id": 11509, - "mutability": "mutable", - "name": "quotient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11535, - "src": "729:16:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11514, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11511, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11501, - "src": "752:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 11512, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11503, - "src": "755:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11510, - "name": "div", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11499, - "src": "748:3:41", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "748:9:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "729:28:41" - }, - { - "assignments": [ - 11516 - ], - "declarations": [ - { - "constant": false, - "id": 11516, - "mutability": "mutable", - "name": "remainder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11535, - "src": "767:17:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "767:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11522, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11517, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11501, - "src": "787:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11518, - "name": "quotient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11509, - "src": "791:8:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 11519, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11503, - "src": "802:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "791:12:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "787:16:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "767:36:41" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11523, - "name": "remainder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11516, - "src": "817:9:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "829:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "817:13:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11533, - "nodeType": "Block", - "src": "882:40:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11531, - "name": "quotient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11509, - "src": "903:8:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11507, - "id": 11532, - "nodeType": "Return", - "src": "896:15:41" - } - ] - }, - "id": 11534, - "nodeType": "IfStatement", - "src": "813:109:41", - "trueBody": { - "id": 11530, - "nodeType": "Block", - "src": "832:44:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11526, - "name": "quotient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11509, - "src": "853:8:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "864:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "853:12:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11507, - "id": 11529, - "nodeType": "Return", - "src": "846:19:41" - } - ] - } - } - ] - }, - "documentation": null, - "id": 11536, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "divCeil", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11501, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11536, - "src": "665:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "665:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11503, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11536, - "src": "676:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "664:22:41" - }, - "returnParameters": { - "id": 11507, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11506, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11536, - "src": "710:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "709:9:41" - }, - "scope": 11623, - "src": "648:280:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11556, - "nodeType": "Block", - "src": "1001:67:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11546, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11540, - "src": "1019:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 11547, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1024:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1019:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5355425f4552524f52", - "id": 11549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:11:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c20885bc87603b27150b555979fd4ced812adaa007c9ca583e7fb0ad94e1fb1", - "typeString": "literal_string \"SUB_ERROR\"" - }, - "value": "SUB_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8c20885bc87603b27150b555979fd4ced812adaa007c9ca583e7fb0ad94e1fb1", - "typeString": "literal_string \"SUB_ERROR\"" - } - ], - "id": 11545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1011:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1011:28:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11551, - "nodeType": "ExpressionStatement", - "src": "1011:28:41" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11552, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1056:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 11553, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11540, - "src": "1060:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1056:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11544, - "id": 11555, - "nodeType": "Return", - "src": "1049:12:41" - } - ] - }, - "documentation": null, - "id": 11557, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11538, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11557, - "src": "947:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "947:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11540, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11557, - "src": "958:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "958:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "946:22:41" - }, - "returnParameters": { - "id": 11544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11543, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11557, - "src": "992:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "992:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "991:9:41" - }, - "scope": 11623, - "src": "934:134:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11581, - "nodeType": "Block", - "src": "1141:90:41", - "statements": [ - { - "assignments": [ - 11567 - ], - "declarations": [ - { - "constant": false, - "id": 11567, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11581, - "src": "1151:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1151:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11571, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11568, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11559, - "src": "1163:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 11569, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11561, - "src": "1167:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1163:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1151:17:41" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11573, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1186:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 11574, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11559, - "src": "1191:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1186:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4144445f4552524f52", - "id": 11576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1194:11:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_db5ce4bdd57c365768e4ced49819a8b22d9737a9a1f0821626d5d162f0c4f58b", - "typeString": "literal_string \"ADD_ERROR\"" - }, - "value": "ADD_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_db5ce4bdd57c365768e4ced49819a8b22d9737a9a1f0821626d5d162f0c4f58b", - "typeString": "literal_string \"ADD_ERROR\"" - } - ], - "id": 11572, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1178:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1178:28:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11578, - "nodeType": "ExpressionStatement", - "src": "1178:28:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11579, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1223:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11565, - "id": 11580, - "nodeType": "Return", - "src": "1216:8:41" - } - ] - }, - "documentation": null, - "id": 11582, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11559, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11582, - "src": "1087:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1087:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11561, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11582, - "src": "1098:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1098:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1086:22:41" - }, - "returnParameters": { - "id": 11565, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11564, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11582, - "src": "1132:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1132:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1131:9:41" - }, - "scope": 11623, - "src": "1074:157:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11621, - "nodeType": "Block", - "src": "1296:139:41", - "statements": [ - { - "assignments": [ - 11590 - ], - "declarations": [ - { - "constant": false, - "id": 11590, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11621, - "src": "1306:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1306:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11596, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11591, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11584, - "src": "1318:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 11592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1322:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1318:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1326:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1318:9:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:21:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11597, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11587, - "src": "1337:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11598, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11584, - "src": "1341:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1337:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11600, - "nodeType": "ExpressionStatement", - "src": "1337:5:41" - }, - { - "body": { - "id": 11619, - "nodeType": "Block", - "src": "1366:63:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11604, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11587, - "src": "1380:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11605, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1384:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1380:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11607, - "nodeType": "ExpressionStatement", - "src": "1380:5:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11608, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1399:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11609, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11584, - "src": "1404:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11610, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1408:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1404:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 11612, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1412:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1404:9:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 11614, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1403:11:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 11615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1417:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1403:15:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1399:19:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11618, - "nodeType": "ExpressionStatement", - "src": "1399:19:41" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11601, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1359:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 11602, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11587, - "src": "1363:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1359:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11620, - "nodeType": "WhileStatement", - "src": "1352:77:41" - } - ] - }, - "documentation": null, - "id": 11622, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11584, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11622, - "src": "1251:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1251:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1250:11:41" - }, - "returnParameters": { - "id": 11588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11587, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11622, - "src": "1285:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1285:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1284:11:41" - }, - "scope": 11623, - "src": "1237:198:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 11624, - "src": "258:1179:41" - } - ], - "src": "78:1360:41" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 11623 - ] - }, - "id": 11624, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11442, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:41" - }, - { - "id": 11443, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:41" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 11444, - "nodeType": "StructuredDocumentation", - "src": "137:120:41", - "text": " @title SafeMath\n @author DODO Breeder\n @notice Math operations with safety checks that revert on error" - }, - "fullyImplemented": true, - "id": 11623, - "linearizedBaseContracts": [ - 11623 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 11477, - "nodeType": "Block", - "src": "348:150:41", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11453, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11446, - "src": "362:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "367:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "362:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 11459, - "nodeType": "IfStatement", - "src": "358:45:41", - "trueBody": { - "id": 11458, - "nodeType": "Block", - "src": "370:33:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "391:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 11452, - "id": 11457, - "nodeType": "Return", - "src": "384:8:41" - } - ] - } - }, - { - "assignments": [ - 11461 - ], - "declarations": [ - { - "constant": false, - "id": 11461, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11477, - "src": "413:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "413:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11465, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11462, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11446, - "src": "425:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 11463, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11448, - "src": "429:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "425:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "413:17:41" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11467, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11461, - "src": "448:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11468, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11446, - "src": "452:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "448:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 11470, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11448, - "src": "457:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "448:10:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d554c5f4552524f52", - "id": 11472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "460:11:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f15de75b890fc71862dae54a774d957f0461cb8f954cec0f22848d646e50110f", - "typeString": "literal_string \"MUL_ERROR\"" - }, - "value": "MUL_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f15de75b890fc71862dae54a774d957f0461cb8f954cec0f22848d646e50110f", - "typeString": "literal_string \"MUL_ERROR\"" - } - ], - "id": 11466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "440:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "440:32:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11474, - "nodeType": "ExpressionStatement", - "src": "440:32:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11475, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11461, - "src": "490:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11452, - "id": 11476, - "nodeType": "Return", - "src": "483:8:41" - } - ] - }, - "documentation": null, - "id": 11478, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11446, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11478, - "src": "294:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "294:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11448, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11478, - "src": "305:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "305:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:22:41" - }, - "returnParameters": { - "id": 11452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11451, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11478, - "src": "339:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "339:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "338:9:41" - }, - "scope": 11623, - "src": "281:217:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11498, - "nodeType": "Block", - "src": "571:71:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11488, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11482, - "src": "589:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "593:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "589:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4449564944494e475f4552524f52", - "id": 11491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "596:16:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_583be15a4a9aee3ef6d29bfba17fb7fe394ac90caa4352e8a6c1e95a37366a64", - "typeString": "literal_string \"DIVIDING_ERROR\"" - }, - "value": "DIVIDING_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_583be15a4a9aee3ef6d29bfba17fb7fe394ac90caa4352e8a6c1e95a37366a64", - "typeString": "literal_string \"DIVIDING_ERROR\"" - } - ], - "id": 11487, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "581:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "581:32:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11493, - "nodeType": "ExpressionStatement", - "src": "581:32:41" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11494, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11480, - "src": "630:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11495, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11482, - "src": "634:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "630:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11486, - "id": 11497, - "nodeType": "Return", - "src": "623:12:41" - } - ] - }, - "documentation": null, - "id": 11499, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11480, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11499, - "src": "517:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "517:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11482, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11499, - "src": "528:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "516:22:41" - }, - "returnParameters": { - "id": 11486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11499, - "src": "562:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "562:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "561:9:41" - }, - "scope": 11623, - "src": "504:138:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11535, - "nodeType": "Block", - "src": "719:209:41", - "statements": [ - { - "assignments": [ - 11509 - ], - "declarations": [ - { - "constant": false, - "id": 11509, - "mutability": "mutable", - "name": "quotient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11535, - "src": "729:16:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11514, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 11511, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11501, - "src": "752:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 11512, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11503, - "src": "755:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11510, - "name": "div", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11499, - "src": "748:3:41", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 11513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "748:9:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "729:28:41" - }, - { - "assignments": [ - 11516 - ], - "declarations": [ - { - "constant": false, - "id": 11516, - "mutability": "mutable", - "name": "remainder", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11535, - "src": "767:17:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "767:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11522, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11517, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11501, - "src": "787:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11518, - "name": "quotient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11509, - "src": "791:8:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 11519, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11503, - "src": "802:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "791:12:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "787:16:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "767:36:41" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11523, - "name": "remainder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11516, - "src": "817:9:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 11524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "829:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "817:13:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 11533, - "nodeType": "Block", - "src": "882:40:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11531, - "name": "quotient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11509, - "src": "903:8:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11507, - "id": 11532, - "nodeType": "Return", - "src": "896:15:41" - } - ] - }, - "id": 11534, - "nodeType": "IfStatement", - "src": "813:109:41", - "trueBody": { - "id": 11530, - "nodeType": "Block", - "src": "832:44:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11526, - "name": "quotient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11509, - "src": "853:8:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "864:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "853:12:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11507, - "id": 11529, - "nodeType": "Return", - "src": "846:19:41" - } - ] - } - } - ] - }, - "documentation": null, - "id": 11536, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "divCeil", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11501, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11536, - "src": "665:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "665:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11503, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11536, - "src": "676:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "664:22:41" - }, - "returnParameters": { - "id": 11507, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11506, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11536, - "src": "710:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "709:9:41" - }, - "scope": 11623, - "src": "648:280:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11556, - "nodeType": "Block", - "src": "1001:67:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11546, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11540, - "src": "1019:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 11547, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1024:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1019:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5355425f4552524f52", - "id": 11549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:11:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c20885bc87603b27150b555979fd4ced812adaa007c9ca583e7fb0ad94e1fb1", - "typeString": "literal_string \"SUB_ERROR\"" - }, - "value": "SUB_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8c20885bc87603b27150b555979fd4ced812adaa007c9ca583e7fb0ad94e1fb1", - "typeString": "literal_string \"SUB_ERROR\"" - } - ], - "id": 11545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1011:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1011:28:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11551, - "nodeType": "ExpressionStatement", - "src": "1011:28:41" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11552, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11538, - "src": "1056:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 11553, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11540, - "src": "1060:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1056:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11544, - "id": 11555, - "nodeType": "Return", - "src": "1049:12:41" - } - ] - }, - "documentation": null, - "id": 11557, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11538, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11557, - "src": "947:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "947:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11540, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11557, - "src": "958:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "958:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "946:22:41" - }, - "returnParameters": { - "id": 11544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11543, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11557, - "src": "992:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "992:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "991:9:41" - }, - "scope": 11623, - "src": "934:134:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11581, - "nodeType": "Block", - "src": "1141:90:41", - "statements": [ - { - "assignments": [ - 11567 - ], - "declarations": [ - { - "constant": false, - "id": 11567, - "mutability": "mutable", - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11581, - "src": "1151:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1151:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11571, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11568, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11559, - "src": "1163:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 11569, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11561, - "src": "1167:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1163:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1151:17:41" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11573, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1186:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 11574, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11559, - "src": "1191:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1186:6:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4144445f4552524f52", - "id": 11576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1194:11:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_db5ce4bdd57c365768e4ced49819a8b22d9737a9a1f0821626d5d162f0c4f58b", - "typeString": "literal_string \"ADD_ERROR\"" - }, - "value": "ADD_ERROR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_db5ce4bdd57c365768e4ced49819a8b22d9737a9a1f0821626d5d162f0c4f58b", - "typeString": "literal_string \"ADD_ERROR\"" - } - ], - "id": 11572, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1178:7:41", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1178:28:41", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11578, - "nodeType": "ExpressionStatement", - "src": "1178:28:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11579, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11567, - "src": "1223:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 11565, - "id": 11580, - "nodeType": "Return", - "src": "1216:8:41" - } - ] - }, - "documentation": null, - "id": 11582, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11559, - "mutability": "mutable", - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11582, - "src": "1087:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1087:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 11561, - "mutability": "mutable", - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11582, - "src": "1098:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1098:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1086:22:41" - }, - "returnParameters": { - "id": 11565, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11564, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11582, - "src": "1132:7:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1132:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1131:9:41" - }, - "scope": 11623, - "src": "1074:157:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 11621, - "nodeType": "Block", - "src": "1296:139:41", - "statements": [ - { - "assignments": [ - 11590 - ], - "declarations": [ - { - "constant": false, - "id": 11590, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11621, - "src": "1306:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1306:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 11596, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11591, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11584, - "src": "1318:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 11592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1322:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1318:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 11594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1326:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1318:9:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1306:21:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11597, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11587, - "src": "1337:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11598, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11584, - "src": "1341:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1337:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11600, - "nodeType": "ExpressionStatement", - "src": "1337:5:41" - }, - { - "body": { - "id": 11619, - "nodeType": "Block", - "src": "1366:63:41", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11604, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11587, - "src": "1380:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 11605, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1384:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1380:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11607, - "nodeType": "ExpressionStatement", - "src": "1380:5:41" - }, - { - "expression": { - "argumentTypes": null, - "id": 11617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 11608, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1399:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11609, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11584, - "src": "1404:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 11610, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1408:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1404:5:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 11612, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1412:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1404:9:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 11614, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1403:11:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 11615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1417:1:41", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1403:15:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1399:19:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11618, - "nodeType": "ExpressionStatement", - "src": "1399:19:41" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11601, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11590, - "src": "1359:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 11602, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11587, - "src": "1363:1:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1359:5:41", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11620, - "nodeType": "WhileStatement", - "src": "1352:77:41" - } - ] - }, - "documentation": null, - "id": 11622, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 11585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11584, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11622, - "src": "1251:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1251:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1250:11:41" - }, - "returnParameters": { - "id": 11588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11587, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 11622, - "src": "1285:9:41", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1285:7:41", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1284:11:41" - }, - "scope": 11623, - "src": "1237:198:41", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 11624, - "src": "258:1179:41" - } - ], - "src": "78:1360:41" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.623Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "SafeMath" - }, - "userdoc": { - "methods": {}, - "notice": "Math operations with safety checks that revert on error" - } -} \ No newline at end of file diff --git a/build-v1/contracts/Settlement.json b/build-v1/contracts/Settlement.json deleted file mode 100644 index 0e81aa8..0000000 --- a/build-v1/contracts/Settlement.json +++ /dev/null @@ -1,15774 +0,0 @@ -{ - "contractName": "Settlement", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "baseTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteTokenAmount", - "type": "uint256" - } - ], - "name": "ClaimAssets", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - } - ], - "name": "Donate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateBaseToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateQuoteToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finalSettlement", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimAssets", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "retrieve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quoteTokenAmount\",\"type\":\"uint256\"}],\"name\":\"ClaimAssets\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"}],\"name\":\"Donate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateBaseToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateQuoteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"retrieve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Settlement\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for assets settlement\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol\":\"Settlement\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol\":{\"keccak256\":\"0x8167f472615dc95cf743254785eeef730a0a3b753f05f5b64391fbb9992c8ab6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e2a25e398638f4bbecf434cf9b8b608c34a1271c051ee7e411b6c2c32702439\",\"dweb:/ipfs/QmUQmysLQ1k8uBWGzsTdmGCqyWQhZ4xtzPWAfsALGWYLPh\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506117a8806100206000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80637c9b8e8911610146578063c3a2a665116100c3578063dd58b41c11610087578063dd58b41c146103ee578063eab5d20e146103f6578063ec2fd46d146103fe578063ed0aa42814610406578063f2fde38b14610419578063f67ed4481461042c5761025e565b8063c3a2a665146103bb578063c5bbffe8146103ce578063c6b73cf9146103d6578063d4b97046146103de578063d689107c146103e65761025e565b8063a598aca71161010a578063a598aca714610393578063ab44a7a31461039b578063ac1fbc98146103a3578063b2094fd3146103ab578063c0ffa178146103b35761025e565b80637c9b8e891461036b5780638456db15146103735780638ff5e7421461037b5780639b020fba14610383578063a3161a561461038b5761025e565b80634322ec83116101df578063648a4fac116101a3578063648a4fac1461031857806368be20ad146103205780636ec6a58d1461034057806373a2ab7c14610348578063796da7af146103505780637aed942d146103585761025e565b80634322ec83146102f05780634a248d2a146102f85780634de4527e146103005780634e71e0c81461030857806354fd4d50146103105761025e565b80631f3c156e116102265780631f3c156e146102bb578063245c9685146102c55780632aa82c65146102cd578063387b0c11146102d55780633960f142146102e85761025e565b80630cd1667d146102635780630e6518e91461028157806316048bc4146102895780631769ddaa1461029e57806317be952e146102a6575b600080fd5b61026b61043f565b604051610278919061174b565b60405180910390f35b61026b6104c1565b6102916104c7565b60405161027891906113e4565b61026b6104d6565b6102ae6104dc565b6040516102789190611440565b6102c36104e5565b005b61026b6107b1565b61026b6107b7565b6102c36102e336600461137b565b6107fc565b61029161085c565b61029161086b565b61029161087a565b61026b610889565b6102c361088f565b61026b61091d565b6102c3610922565b61033361032e366004611316565b610a3c565b6040516102789190611435565b610333610a51565b610291610a61565b61026b610a70565b61026b610366366004611316565b610ab5565b61026b610b3c565b610291610b42565b610333610b51565b61026b610b5f565b610333610b65565b610333610b6e565b61026b610b7e565b610291610b84565b61026b610b93565b61026b610b99565b6102c36103c9366004611331565b610b9f565b610333610d75565b61026b610d85565b610291610d8b565b610291610d9a565b610333610da9565b61026b610db9565b61026b610dbf565b6102c361041436600461137b565b610dc5565b6102c3610427366004611316565b610e15565b61026b61043a366004611316565b610ec0565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561048457600080fd5b505afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190611393565b905090565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b600154600160a01b900460ff16156105185760405162461bcd60e51b815260040161050f906114b2565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff166105535760405162461bcd60e51b815260040161050f90611722565b3360009081526017602052604090205460ff16156105835760405162461bcd60e51b815260040161050f906116f9565b336000818152601760205260408120805460ff19166001179055906105a790610ec0565b905060006105b433610ab5565b9050600082156105eb576105e86105c96107b7565b6010546105dc908663ffffffff610ef116565b9063ffffffff610f3216565b90505b60008215610614576106116105fe61043f565b600f546105dc908663ffffffff610ef116565b90505b601054610627908363ffffffff610f6416565b601055600f5461063d908263ffffffff610f6416565b600f8190555061065f61065284601554610f8c565b839063ffffffff610fae16565b915061067d61067085601654610f8c565b829063ffffffff610fae16565b90506106893382610fd3565b610693338361100a565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906106c590339087906004016113f8565b600060405180830381600087803b1580156106df57600080fd5b505af11580156106f3573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac915061072990339088906004016113f8565b600060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c438284604051610796929190611764565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561048457600080fd5b600154600160a01b900460ff16156108265760405162461bcd60e51b815260040161050f906114b2565b6001805460ff60a01b1916600160a01b1790556108433382611041565b61084c816110a6565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b031633146108b95760405162461bcd60e51b815260040161050f9061148b565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b0316331461094c5760405162461bcd60e51b815260040161050f90611646565b600154600160b01b900460ff16156109765760405162461bcd60e51b815260040161050f90611621565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600061099e61043f565b905060006109aa6107b7565b905060105460125411156109e65760006109d1601054601254610f6490919063ffffffff16565b90506109dd81846110fa565b601555506109ed565b6012546010555b600f546011541115610a27576000610a12600f54601154610f6490919063ffffffff16565b9050610a1e81836110fa565b60165550610a2e565b601154600f555b5050600e805460ff19169055565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561048457600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ae69085906004016113e4565b60206040518083038186803b158015610afe57600080fd5b505afa158015610b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b369190611393565b92915050565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b6000546001600160a01b03163314610bc95760405162461bcd60e51b815260040161050f90611646565b6008546001600160a01b0383811691161415610c9057601154610bf2908263ffffffff610fae16565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190610c229030906004016113e4565b60206040518083038186803b158015610c3a57600080fd5b505afa158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c729190611393565b1015610c905760405162461bcd60e51b815260040161050f906115c3565b6009546001600160a01b0383811691161415610d5757601254610cb9908263ffffffff610fae16565b6009546040516370a0823160e01b81526001600160a01b03909116906370a0823190610ce99030906004016113e4565b60206040518083038186803b158015610d0157600080fd5b505afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d399190611393565b1015610d575760405162461bcd60e51b815260040161050f90611454565b610d716001600160a01b038316338363ffffffff61111816565b5050565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b600154600160a01b900460ff1615610def5760405162461bcd60e51b815260040161050f906114b2565b6001805460ff60a01b1916600160a01b179055610e0c3382611173565b61084c816111d8565b6000546001600160a01b03163314610e3f5760405162461bcd60e51b815260040161050f90611646565b6001600160a01b038116610e655760405162461bcd60e51b815260040161050f906115fa565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ae69085906004016113e4565b600082610f0057506000610b36565b82820282848281610f0d57fe5b0414610f2b5760405162461bcd60e51b815260040161050f906116d6565b9392505050565b6000808211610f535760405162461bcd60e51b815260040161050f90611541565b818381610f5c57fe5b049392505050565b600082821115610f865760405162461bcd60e51b815260040161050f906115a0565b50900390565b6000670de0b6b3a7640000610fa7848463ffffffff610ef116565b81610f5c57fe5b600082820183811015610f2b5760405162461bcd60e51b815260040161050f90611669565b600854610ff0906001600160a01b0316838363ffffffff61111816565b601154611003908263ffffffff610f6416565b6011555050565b600954611027906001600160a01b0316838363ffffffff61111816565b60125461103a908263ffffffff610f6416565b6012555050565b600554601254611057908363ffffffff610fae16565b11156110755760405162461bcd60e51b815260040161050f906114d5565b600954611093906001600160a01b031683308463ffffffff61122116565b60125461103a908263ffffffff610fae16565b6010546110b9908263ffffffff610fae16565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906110ef908390600090611754565b60405180910390a150565b6000610f2b826105dc85670de0b6b3a764000063ffffffff610ef116565b61116e8363a9059cbb60e01b84846040516024016111379291906113f8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611248565b505050565b600454601154611189908363ffffffff610fae16565b11156111a75760405162461bcd60e51b815260040161050f90611569565b6008546111c5906001600160a01b031683308463ffffffff61122116565b601154611003908263ffffffff610fae16565b600f546111eb908263ffffffff610fae16565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906110ef908390600190611754565b611242846323b872dd60e01b85858560405160240161113793929190611411565b50505050565b60006060836001600160a01b03168360405161126491906113ab565b6000604051808303816000865af19150503d80600081146112a1576040519150601f19603f3d011682016040523d82523d6000602084013e6112a6565b606091505b5091509150816112c85760405162461bcd60e51b815260040161050f9061150c565b80511561124257808060200190518101906112e3919061135b565b6112425760405162461bcd60e51b815260040161050f9061168c565b80356001600160a01b0381168114610b3657600080fd5b600060208284031215611327578081fd5b610f2b83836112ff565b60008060408385031215611343578081fd5b61134d84846112ff565b946020939093013593505050565b60006020828403121561136c578081fd5b81518015158114610f2b578182fd5b60006020828403121561138c578081fd5b5035919050565b6000602082840312156113a4578081fd5b5051919050565b60008251815b818110156113cb57602081860181015185830152016113b1565b818111156113d95782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b602081016003831061144e57fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fea2646970667358221220cfea613c5e0f5d3e3df8fc569e9c30dd6e0f3e8a4581f0064c3c6f4a868b6cf964736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061025e5760003560e01c80637c9b8e8911610146578063c3a2a665116100c3578063dd58b41c11610087578063dd58b41c146103ee578063eab5d20e146103f6578063ec2fd46d146103fe578063ed0aa42814610406578063f2fde38b14610419578063f67ed4481461042c5761025e565b8063c3a2a665146103bb578063c5bbffe8146103ce578063c6b73cf9146103d6578063d4b97046146103de578063d689107c146103e65761025e565b8063a598aca71161010a578063a598aca714610393578063ab44a7a31461039b578063ac1fbc98146103a3578063b2094fd3146103ab578063c0ffa178146103b35761025e565b80637c9b8e891461036b5780638456db15146103735780638ff5e7421461037b5780639b020fba14610383578063a3161a561461038b5761025e565b80634322ec83116101df578063648a4fac116101a3578063648a4fac1461031857806368be20ad146103205780636ec6a58d1461034057806373a2ab7c14610348578063796da7af146103505780637aed942d146103585761025e565b80634322ec83146102f05780634a248d2a146102f85780634de4527e146103005780634e71e0c81461030857806354fd4d50146103105761025e565b80631f3c156e116102265780631f3c156e146102bb578063245c9685146102c55780632aa82c65146102cd578063387b0c11146102d55780633960f142146102e85761025e565b80630cd1667d146102635780630e6518e91461028157806316048bc4146102895780631769ddaa1461029e57806317be952e146102a6575b600080fd5b61026b61043f565b604051610278919061174b565b60405180910390f35b61026b6104c1565b6102916104c7565b60405161027891906113e4565b61026b6104d6565b6102ae6104dc565b6040516102789190611440565b6102c36104e5565b005b61026b6107b1565b61026b6107b7565b6102c36102e336600461137b565b6107fc565b61029161085c565b61029161086b565b61029161087a565b61026b610889565b6102c361088f565b61026b61091d565b6102c3610922565b61033361032e366004611316565b610a3c565b6040516102789190611435565b610333610a51565b610291610a61565b61026b610a70565b61026b610366366004611316565b610ab5565b61026b610b3c565b610291610b42565b610333610b51565b61026b610b5f565b610333610b65565b610333610b6e565b61026b610b7e565b610291610b84565b61026b610b93565b61026b610b99565b6102c36103c9366004611331565b610b9f565b610333610d75565b61026b610d85565b610291610d8b565b610291610d9a565b610333610da9565b61026b610db9565b61026b610dbf565b6102c361041436600461137b565b610dc5565b6102c3610427366004611316565b610e15565b61026b61043a366004611316565b610ec0565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561048457600080fd5b505afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190611393565b905090565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b600154600160a01b900460ff16156105185760405162461bcd60e51b815260040161050f906114b2565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff166105535760405162461bcd60e51b815260040161050f90611722565b3360009081526017602052604090205460ff16156105835760405162461bcd60e51b815260040161050f906116f9565b336000818152601760205260408120805460ff19166001179055906105a790610ec0565b905060006105b433610ab5565b9050600082156105eb576105e86105c96107b7565b6010546105dc908663ffffffff610ef116565b9063ffffffff610f3216565b90505b60008215610614576106116105fe61043f565b600f546105dc908663ffffffff610ef116565b90505b601054610627908363ffffffff610f6416565b601055600f5461063d908263ffffffff610f6416565b600f8190555061065f61065284601554610f8c565b839063ffffffff610fae16565b915061067d61067085601654610f8c565b829063ffffffff610fae16565b90506106893382610fd3565b610693338361100a565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906106c590339087906004016113f8565b600060405180830381600087803b1580156106df57600080fd5b505af11580156106f3573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac915061072990339088906004016113f8565b600060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c438284604051610796929190611764565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561048457600080fd5b600154600160a01b900460ff16156108265760405162461bcd60e51b815260040161050f906114b2565b6001805460ff60a01b1916600160a01b1790556108433382611041565b61084c816110a6565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b031633146108b95760405162461bcd60e51b815260040161050f9061148b565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b0316331461094c5760405162461bcd60e51b815260040161050f90611646565b600154600160b01b900460ff16156109765760405162461bcd60e51b815260040161050f90611621565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600061099e61043f565b905060006109aa6107b7565b905060105460125411156109e65760006109d1601054601254610f6490919063ffffffff16565b90506109dd81846110fa565b601555506109ed565b6012546010555b600f546011541115610a27576000610a12600f54601154610f6490919063ffffffff16565b9050610a1e81836110fa565b60165550610a2e565b601154600f555b5050600e805460ff19169055565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561048457600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ae69085906004016113e4565b60206040518083038186803b158015610afe57600080fd5b505afa158015610b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b369190611393565b92915050565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b6000546001600160a01b03163314610bc95760405162461bcd60e51b815260040161050f90611646565b6008546001600160a01b0383811691161415610c9057601154610bf2908263ffffffff610fae16565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190610c229030906004016113e4565b60206040518083038186803b158015610c3a57600080fd5b505afa158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c729190611393565b1015610c905760405162461bcd60e51b815260040161050f906115c3565b6009546001600160a01b0383811691161415610d5757601254610cb9908263ffffffff610fae16565b6009546040516370a0823160e01b81526001600160a01b03909116906370a0823190610ce99030906004016113e4565b60206040518083038186803b158015610d0157600080fd5b505afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d399190611393565b1015610d575760405162461bcd60e51b815260040161050f90611454565b610d716001600160a01b038316338363ffffffff61111816565b5050565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b600154600160a01b900460ff1615610def5760405162461bcd60e51b815260040161050f906114b2565b6001805460ff60a01b1916600160a01b179055610e0c3382611173565b61084c816111d8565b6000546001600160a01b03163314610e3f5760405162461bcd60e51b815260040161050f90611646565b6001600160a01b038116610e655760405162461bcd60e51b815260040161050f906115fa565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ae69085906004016113e4565b600082610f0057506000610b36565b82820282848281610f0d57fe5b0414610f2b5760405162461bcd60e51b815260040161050f906116d6565b9392505050565b6000808211610f535760405162461bcd60e51b815260040161050f90611541565b818381610f5c57fe5b049392505050565b600082821115610f865760405162461bcd60e51b815260040161050f906115a0565b50900390565b6000670de0b6b3a7640000610fa7848463ffffffff610ef116565b81610f5c57fe5b600082820183811015610f2b5760405162461bcd60e51b815260040161050f90611669565b600854610ff0906001600160a01b0316838363ffffffff61111816565b601154611003908263ffffffff610f6416565b6011555050565b600954611027906001600160a01b0316838363ffffffff61111816565b60125461103a908263ffffffff610f6416565b6012555050565b600554601254611057908363ffffffff610fae16565b11156110755760405162461bcd60e51b815260040161050f906114d5565b600954611093906001600160a01b031683308463ffffffff61122116565b60125461103a908263ffffffff610fae16565b6010546110b9908263ffffffff610fae16565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906110ef908390600090611754565b60405180910390a150565b6000610f2b826105dc85670de0b6b3a764000063ffffffff610ef116565b61116e8363a9059cbb60e01b84846040516024016111379291906113f8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611248565b505050565b600454601154611189908363ffffffff610fae16565b11156111a75760405162461bcd60e51b815260040161050f90611569565b6008546111c5906001600160a01b031683308463ffffffff61122116565b601154611003908263ffffffff610fae16565b600f546111eb908263ffffffff610fae16565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906110ef908390600190611754565b611242846323b872dd60e01b85858560405160240161113793929190611411565b50505050565b60006060836001600160a01b03168360405161126491906113ab565b6000604051808303816000865af19150503d80600081146112a1576040519150601f19603f3d011682016040523d82523d6000602084013e6112a6565b606091505b5091509150816112c85760405162461bcd60e51b815260040161050f9061150c565b80511561124257808060200190518101906112e3919061135b565b6112425760405162461bcd60e51b815260040161050f9061168c565b80356001600160a01b0381168114610b3657600080fd5b600060208284031215611327578081fd5b610f2b83836112ff565b60008060408385031215611343578081fd5b61134d84846112ff565b946020939093013593505050565b60006020828403121561136c578081fd5b81518015158114610f2b578182fd5b60006020828403121561138c578081fd5b5035919050565b6000602082840312156113a4578081fd5b5051919050565b60008251815b818110156113cb57602081860181015185830152016113b1565b818111156113d95782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b602081016003831061144e57fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fea2646970667358221220cfea613c5e0f5d3e3df8fc569e9c30dd6e0f3e8a4581f0064c3c6f4a868b6cf964736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "560:5347:26:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "560:5347:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2949:133:27;;;:::i;:::-;;;;;;;;;;;;;;;;2006:43;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;1604:31::-;;;:::i;:::-;;;;;;;;3873:1392:26;;;:::i;:::-;;1688:42:27;;;:::i;3243:135::-;;;:::i;2545:161:26:-;;;;;;;;;:::i;1202:27:27:-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;3433:87:27:-;;;:::i;2808:1006:26:-;;;:::i;2055:41:27:-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;2796:147::-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;1036:29:27:-;;;:::i;1071:35::-;;;:::i;1002:28::-;;;:::i;839:34::-;;;:::i;1511:28::-;;;:::i;1849:36::-;;;:::i;1641:41::-;;;:::i;1545:28::-;;;:::i;5324:581:26:-;;;;;;;;;:::i;798:35:27:-;;;:::i;1957:43::-;;;:::i;1385:28::-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;1736:29::-;;;:::i;1579:18::-;;;:::i;2381:158:26:-;;;;;;;;;:::i;737:220:37:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;2949:133::-;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;:::o;2006:43::-;;;;:::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;1604:31::-;;;;;;:::o;3873:1392:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;3940:8:26;::::1;548:16:39::0;3940:8:26::1;3932:36;;;;-1:-1:-1::0;;;3932:36:26::1;;;;;;;;;3997:10;3987:21;::::0;;;:9:::1;:21;::::0;;;;;::::1;;3986:22;3978:50;;;;-1:-1:-1::0;;;3978:50:26::1;;;;;;;;;4048:10;4038:21;::::0;;;:9:::1;:21;::::0;;;;:28;;-1:-1:-1;;4038:28:26::1;4062:4;4038:28;::::0;;:21;4100:36:::1;::::0;:24:::1;:36::i;:::-;4077:59;;4146:19;4168:35;4192:10;4168:23;:35::i;:::-;4146:57:::0;-1:-1:-1;4214:19:26::1;4251:16:::0;;4247:134:::1;;4297:73;4347:22;:20;:22::i;:::-;4297:27;::::0;:45:::1;::::0;4329:12;4297:45:::1;:31;:45;:::i;:::-;:49:::0;:73:::1;:49;:73;:::i;:::-;4283:87;;4247:134;4390:18;4426:15:::0;;4422:129:::1;;4470:70;4518:21;:19;:21::i;:::-;4470:26;::::0;:43:::1;::::0;4501:11;4470:43:::1;:30;:43;:::i;:70::-;4457:83;;4422:129;4591:27;::::0;:44:::1;::::0;4623:11;4591:44:::1;:31;:44;:::i;:::-;4561:27;:74:::0;4674:26:::1;::::0;:42:::1;::::0;4705:10;4674:42:::1;:30;:42;:::i;:::-;4645:26;:71;;;;4741:75;4757:58;4773:11;4786:28;;4757:15;:58::i;:::-;4741:11:::0;;:75:::1;:15;:75;:::i;:::-;4727:89;;4839:75;4854:59;4870:12;4884:28;;4854:15;:59::i;:::-;4839:10:::0;;:75:::1;:14;:75;:::i;:::-;4826:88;;4925:45;4947:10;4959;4925:21;:45::i;:::-;4980:47;5003:10;5015:11;4980:22;:47::i;:::-;5051:20;::::0;5038:64:::1;::::0;-1:-1:-1;;;5038:64:26;;-1:-1:-1;;;;;5051:20:26;;::::1;::::0;5038:39:::1;::::0;:64:::1;::::0;5078:10:::1;::::0;5090:11;;5038:64:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5125:21:26::1;::::0;5112:66:::1;::::0;-1:-1:-1;;;5112:66:26;;-1:-1:-1;;;;;5125:21:26;;::::1;::::0;-1:-1:-1;5112:40:26::1;::::0;-1:-1:-1;5112:66:26::1;::::0;5153:10:::1;::::0;5165:12;;5112:66:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5206:10;-1:-1:-1::0;;;;;5194:48:26::1;;5218:10;5230:11;5194:48;;;;;;;;;;;;;;;;5252:7;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3873:1392:26:o;1688:42:27:-;;;;:::o;3243:135::-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;2545:161:26;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2623:41:26::1;2645:10;2657:6:::0;2623:21:::1;:41::i;:::-;2674:25;2692:6;2674:17;:25::i;:::-;-1:-1:-1::0;585:9:39;:17;;-1:-1:-1;;;;585:17:39;;;2545:161:26:o;1202:27:27:-;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;2808:1006:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2885:4:26::2;2874:15:::0;;-1:-1:-1;;;;;;;;2874:15:26;;::::2;-1:-1:-1::0;;;2874:15:26::2;2980:23:::0;;;2874:15;3040:21:::2;:19;:21::i;:::-;3013:48;;3071:25;3099:22;:20;:22::i;:::-;3071:50;;3154:27;;3136:15;;:45;3132:316;;;3197:18;3218:48;3238:27;;3218:15;;:19;;:48;;;;:::i;:::-;3197:69;;3311:50;3332:10;3344:16;3311:20;:50::i;:::-;3280:28;:81:::0;-1:-1:-1;3132:316:26::2;;;3422:15;::::0;3392:27:::2;:45:::0;3132:316:::2;3479:26;;3462:14;;:43;3458:309;;;3521:17;3541:46;3560:26;;3541:14;;:18;;:46;;;;:::i;:::-;3521:66;;3632:50;3653:9;3664:17;3632:20;:50::i;:::-;3601:28;:81:::0;-1:-1:-1;3458:309:26::2;;;3742:14;::::0;3713:26:::2;:43:::0;3458:309:::2;-1:-1:-1::0;;3777:10:26::2;:30:::0;;-1:-1:-1;;3777:30:26::2;::::0;;2808:1006::o;2055:41:27:-;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;2796:147;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2881:55;2796:147;-1:-1:-1;;2796:147:27:o;1771:30::-;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;1036:29:27:-;;;;;;;;;:::o;1071:35::-;;;;:::o;1002:28::-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;1511:28::-;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;1641:41::-;;;;:::o;1545:28::-;;;;:::o;5324:581:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;5415:12:26::1;::::0;-1:-1:-1;;;;;5406:21:26;;::::1;5415:12:::0;::::1;5406:21;5402:214;;;5517:14;::::0;:26:::1;::::0;5536:6;5517:26:::1;:18;:26;:::i;:::-;5475:12;::::0;5468:45:::1;::::0;-1:-1:-1;;;5468:45:26;;-1:-1:-1;;;;;5475:12:26;;::::1;::::0;5468:30:::1;::::0;:45:::1;::::0;5507:4:::1;::::0;5468:45:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;5443:162;;;;-1:-1:-1::0;;;5443:162:26::1;;;;;;;;;5638:13;::::0;-1:-1:-1;;;;;5629:22:26;;::::1;5638:13:::0;::::1;5629:22;5625:218;;;5742:15;::::0;:27:::1;::::0;5762:6;5742:27:::1;:19;:27;:::i;:::-;5699:13;::::0;5692:46:::1;::::0;-1:-1:-1;;;5692:46:26;;-1:-1:-1;;;;;5699:13:26;;::::1;::::0;5692:31:::1;::::0;:46:::1;::::0;5732:4:::1;::::0;5692:46:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:77;;5667:165;;;;-1:-1:-1::0;;;5667:165:26::1;;;;;;;;;5852:46;-1:-1:-1::0;;;;;5852:26:26;::::1;5879:10;5891:6:::0;5852:46:::1;:26;:46;:::i;:::-;5324:581:::0;;:::o;798:35:27:-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;1385:28::-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;1736:29::-;;;;:::o;1579:18::-;;;;:::o;2381:158:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2458:40:26::1;2479:10;2491:6:::0;2458:20:::1;:40::i;:::-;2508:24;2525:6;2508:16;:24::i;737:220:37:-:0;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;281:217:41;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;;490:1;281:217;-1:-1:-1;;;281:217:41:o;504:138::-;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;934:134::-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;1074:157:41;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;1574:183:26;1659:12;;1652:45;;-1:-1:-1;;;;;1659:12:26;1686:2;1690:6;1652:45;:33;:45;:::i;:::-;1724:14;;:26;;1743:6;1724:26;:18;:26;:::i;:::-;1707:14;:43;-1:-1:-1;;1574:183:26:o;1763:187::-;1849:13;;1842:46;;-1:-1:-1;;;;;1849:13:26;1877:2;1881:6;1842:46;:34;:46;:::i;:::-;1916:15;;:27;;1936:6;1916:27;:19;:27;:::i;:::-;1898:15;:45;-1:-1:-1;;1763:187:26:o;1222:346::-;1354:21;;1323:15;;:27;;1343:6;1323:27;:19;:27;:::i;:::-;:52;;1302:127;;;;-1:-1:-1;;;1302:127:26;;;;;;;;;1446:13;;1439:67;;-1:-1:-1;;;;;1446:13:26;1478:4;1492;1499:6;1439:67;:38;:67;:::i;:::-;1534:15;;:27;;1554:6;1534:27;:19;:27;:::i;2201:174::-;2293:27;;:39;;2325:6;2293:39;:31;:39;:::i;:::-;2263:27;:69;2347:21;;;;;;2354:6;;2362:5;;2347:21;;;;;;;;;;2201:174;:::o;645:123:36:-;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;911:305:26:-;1028:20;;998:14;;:26;;1017:6;998:26;:18;:26;:::i;:::-;:50;;990:90;;;;-1:-1:-1;;;990:90:26;;;;;;;;;1097:12;;1090:66;;-1:-1:-1;;;;;1097:12:26;1128:4;1142;1149:6;1090:66;:37;:66;:::i;:::-;1183:14;;:26;;1202:6;1183:26;:18;:26;:::i;2025:170::-;2115:26;;:38;;2146:6;2115:38;:30;:38;:::i;:::-;2086:26;:67;2168:20;;;;;;2175:6;;2183:4;;2168:20;;1015:275:40;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;1153:130;1015:275;;;;:::o;2335:1027::-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;5:130:-1;72:20;;-1:-1;;;;;19627:54;;20737:35;;20727:2;;20786:1;;20776:12;555:241;;659:2;647:9;638:7;634:23;630:32;627:2;;;-1:-1;;665:12;627:2;727:53;772:7;748:22;727:53;;803:366;;;924:2;912:9;903:7;899:23;895:32;892:2;;;-1:-1;;930:12;892:2;992:53;1037:7;1013:22;992:53;;;982:63;1082:2;1121:22;;;;344:20;;-1:-1;;;886:283;1176:257;;1288:2;1276:9;1267:7;1263:23;1259:32;1256:2;;;-1:-1;;1294:12;1256:2;223:6;217:13;20883:5;19400:13;19393:21;20861:5;20858:32;20848:2;;-1:-1;;20894:12;1440:241;;1544:2;1532:9;1523:7;1519:23;1515:32;1512:2;;;-1:-1;;1550:12;1512:2;-1:-1;344:20;;1506:175;-1:-1;1506:175;1688:263;;1803:2;1791:9;1782:7;1778:23;1774:32;1771:2;;;-1:-1;;1809:12;1771:2;-1:-1;492:13;;1765:186;-1:-1;1765:186;8573:271;;2498:5;18870:12;-1:-1;20363:101;20377:6;20374:1;20371:13;20363:101;;;2642:4;20444:11;;;;;20438:18;20425:11;;;20418:39;20392:10;20363:101;;;20479:6;20476:1;20473:13;20470:2;;;-1:-1;20535:6;20530:3;20526:16;20519:27;20470:2;-1:-1;2673:16;;;;;8707:137;-1:-1;;8707:137;8851:222;-1:-1;;;;;19627:54;;;;2178:37;;8978:2;8963:18;;8949:124;9080:349;-1:-1;;;;;19627:54;;;;2037:58;;9415:2;9400:18;;8524:37;9243:2;9228:18;;9214:215;9436:444;-1:-1;;;;;19627:54;;;2178:37;;19627:54;;;;9783:2;9768:18;;2178:37;9866:2;9851:18;;8524:37;;;;9619:2;9604:18;;9590:290;10227:210;19400:13;;19393:21;2292:34;;10348:2;10333:18;;10319:118;10444:244;10582:2;10567:18;;20649:1;20639:12;;20629:2;;20655:9;20629:2;2783:61;;;10553:135;;10695:416;10895:2;10909:47;;;3081:2;10880:18;;;19168:19;3117:31;19208:14;;;3097:52;3168:12;;;10866:245;11118:416;11318:2;11332:47;;;3419:2;11303:18;;;19168:19;-1:-1;;;19208:14;;;3435:36;3490:12;;;11289:245;11541:416;11741:2;11755:47;;;3741:1;11726:18;;;19168:19;-1:-1;;;19208:14;;;3756:32;3807:12;;;11712:245;11964:416;12164:2;12178:47;;;4058:2;12149:18;;;19168:19;4094:30;19208:14;;;4074:51;4144:12;;;12135:245;12387:416;12587:2;12601:47;;;12572:18;;;19168:19;4431:34;19208:14;;;4411:55;4485:12;;;12558:245;12810:416;13010:2;13024:47;;;4736:2;12995:18;;;19168:19;-1:-1;;;19208:14;;;4752:37;4808:12;;;12981:245;13233:416;13433:2;13447:47;;;5059:2;13418:18;;;19168:19;5095:29;19208:14;;;5075:50;5144:12;;;13404:245;13656:416;13856:2;13870:47;;;5395:1;13841:18;;;19168:19;-1:-1;;;19208:14;;;5410:32;5461:12;;;13827:245;14079:416;14279:2;14293:47;;;5712:2;14264:18;;;19168:19;5748:30;19208:14;;;5728:51;5798:12;;;14250:245;14502:416;14702:2;14716:47;;;6049:2;14687:18;;;19168:19;-1:-1;;;19208:14;;;6065:36;6120:12;;;14673:245;14925:416;15125:2;15139:47;;;6371:2;15110:18;;;19168:19;-1:-1;;;19208:14;;;6387:34;6440:12;;;15096:245;15348:416;15548:2;15562:47;;;6691:1;15533:18;;;19168:19;-1:-1;;;19208:14;;;6706:32;6757:12;;;15519:245;15771:416;15971:2;15985:47;;;7008:1;15956:18;;;19168:19;-1:-1;;;19208:14;;;7023:32;7074:12;;;15942:245;16194:416;16394:2;16408:47;;;7325:2;16379:18;;;19168:19;7361:34;19208:14;;;7341:55;-1:-1;;;7416:12;;;7409:34;7462:12;;;16365:245;16617:416;16817:2;16831:47;;;7713:1;16802:18;;;19168:19;-1:-1;;;19208:14;;;7728:32;7779:12;;;16788:245;17040:416;17240:2;17254:47;;;8030:2;17225:18;;;19168:19;-1:-1;;;19208:14;;;8046:38;8103:12;;;17211:245;17463:416;17663:2;17677:47;;;8354:2;17648:18;;;19168:19;-1:-1;;;19208:14;;;8370:38;8427:12;;;17634:245;17886:222;8524:37;;;18013:2;17998:18;;17984:124;18115:321;8524:37;;;19400:13;19393:21;18422:2;18407:18;;2292:34;18264:2;18249:18;;18235:201;18443:333;8524:37;;;18762:2;18747:18;;8524:37;18598:2;18583:18;;18569:207", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {Types} from \"../lib/Types.sol\";\nimport {IDODOLpToken} from \"../intf/IDODOLpToken.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {Storage} from \"./Storage.sol\";\n\n\n/**\n * @title Settlement\n * @author DODO Breeder\n *\n * @notice Functions for assets settlement\n */\ncontract Settlement is Storage {\n using SafeMath for uint256;\n using SafeERC20 for IERC20;\n\n // ============ Events ============\n\n event Donate(uint256 amount, bool isBaseToken);\n\n event ClaimAssets(address indexed user, uint256 baseTokenAmount, uint256 quoteTokenAmount);\n\n // ============ Assets IN/OUT Functions ============\n\n function _baseTokenTransferIn(address from, uint256 amount) internal {\n require(_BASE_BALANCE_.add(amount) <= _BASE_BALANCE_LIMIT_, \"BASE_BALANCE_LIMIT_EXCEEDED\");\n IERC20(_BASE_TOKEN_).safeTransferFrom(from, address(this), amount);\n _BASE_BALANCE_ = _BASE_BALANCE_.add(amount);\n }\n\n function _quoteTokenTransferIn(address from, uint256 amount) internal {\n require(\n _QUOTE_BALANCE_.add(amount) <= _QUOTE_BALANCE_LIMIT_,\n \"QUOTE_BALANCE_LIMIT_EXCEEDED\"\n );\n IERC20(_QUOTE_TOKEN_).safeTransferFrom(from, address(this), amount);\n _QUOTE_BALANCE_ = _QUOTE_BALANCE_.add(amount);\n }\n\n function _baseTokenTransferOut(address to, uint256 amount) internal {\n IERC20(_BASE_TOKEN_).safeTransfer(to, amount);\n _BASE_BALANCE_ = _BASE_BALANCE_.sub(amount);\n }\n\n function _quoteTokenTransferOut(address to, uint256 amount) internal {\n IERC20(_QUOTE_TOKEN_).safeTransfer(to, amount);\n _QUOTE_BALANCE_ = _QUOTE_BALANCE_.sub(amount);\n }\n\n // ============ Donate to Liquidity Pool Functions ============\n\n function _donateBaseToken(uint256 amount) internal {\n _TARGET_BASE_TOKEN_AMOUNT_ = _TARGET_BASE_TOKEN_AMOUNT_.add(amount);\n emit Donate(amount, true);\n }\n\n function _donateQuoteToken(uint256 amount) internal {\n _TARGET_QUOTE_TOKEN_AMOUNT_ = _TARGET_QUOTE_TOKEN_AMOUNT_.add(amount);\n emit Donate(amount, false);\n }\n\n function donateBaseToken(uint256 amount) external preventReentrant {\n _baseTokenTransferIn(msg.sender, amount);\n _donateBaseToken(amount);\n }\n\n function donateQuoteToken(uint256 amount) external preventReentrant {\n _quoteTokenTransferIn(msg.sender, amount);\n _donateQuoteToken(amount);\n }\n\n // ============ Final Settlement Functions ============\n\n // last step to shut down dodo\n function finalSettlement() external onlyOwner notClosed {\n _CLOSED_ = true;\n _DEPOSIT_QUOTE_ALLOWED_ = false;\n _DEPOSIT_BASE_ALLOWED_ = false;\n _TRADE_ALLOWED_ = false;\n uint256 totalBaseCapital = getTotalBaseCapital();\n uint256 totalQuoteCapital = getTotalQuoteCapital();\n\n if (_QUOTE_BALANCE_ > _TARGET_QUOTE_TOKEN_AMOUNT_) {\n uint256 spareQuote = _QUOTE_BALANCE_.sub(_TARGET_QUOTE_TOKEN_AMOUNT_);\n _BASE_CAPITAL_RECEIVE_QUOTE_ = DecimalMath.divFloor(spareQuote, totalBaseCapital);\n } else {\n _TARGET_QUOTE_TOKEN_AMOUNT_ = _QUOTE_BALANCE_;\n }\n\n if (_BASE_BALANCE_ > _TARGET_BASE_TOKEN_AMOUNT_) {\n uint256 spareBase = _BASE_BALANCE_.sub(_TARGET_BASE_TOKEN_AMOUNT_);\n _QUOTE_CAPITAL_RECEIVE_BASE_ = DecimalMath.divFloor(spareBase, totalQuoteCapital);\n } else {\n _TARGET_BASE_TOKEN_AMOUNT_ = _BASE_BALANCE_;\n }\n\n _R_STATUS_ = Types.RStatus.ONE;\n }\n\n // claim remaining assets after final settlement\n function claimAssets() external preventReentrant {\n require(_CLOSED_, \"DODO_NOT_CLOSED\");\n require(!_CLAIMED_[msg.sender], \"ALREADY_CLAIMED\");\n _CLAIMED_[msg.sender] = true;\n\n uint256 quoteCapital = getQuoteCapitalBalanceOf(msg.sender);\n uint256 baseCapital = getBaseCapitalBalanceOf(msg.sender);\n\n uint256 quoteAmount = 0;\n if (quoteCapital > 0) {\n quoteAmount = _TARGET_QUOTE_TOKEN_AMOUNT_.mul(quoteCapital).div(getTotalQuoteCapital());\n }\n uint256 baseAmount = 0;\n if (baseCapital > 0) {\n baseAmount = _TARGET_BASE_TOKEN_AMOUNT_.mul(baseCapital).div(getTotalBaseCapital());\n }\n\n _TARGET_QUOTE_TOKEN_AMOUNT_ = _TARGET_QUOTE_TOKEN_AMOUNT_.sub(quoteAmount);\n _TARGET_BASE_TOKEN_AMOUNT_ = _TARGET_BASE_TOKEN_AMOUNT_.sub(baseAmount);\n\n quoteAmount = quoteAmount.add(DecimalMath.mul(baseCapital, _BASE_CAPITAL_RECEIVE_QUOTE_));\n baseAmount = baseAmount.add(DecimalMath.mul(quoteCapital, _QUOTE_CAPITAL_RECEIVE_BASE_));\n\n _baseTokenTransferOut(msg.sender, baseAmount);\n _quoteTokenTransferOut(msg.sender, quoteAmount);\n\n IDODOLpToken(_BASE_CAPITAL_TOKEN_).burn(msg.sender, baseCapital);\n IDODOLpToken(_QUOTE_CAPITAL_TOKEN_).burn(msg.sender, quoteCapital);\n\n emit ClaimAssets(msg.sender, baseAmount, quoteAmount);\n return;\n }\n\n // in case someone transfer to contract directly\n function retrieve(address token, uint256 amount) external onlyOwner {\n if (token == _BASE_TOKEN_) {\n require(\n IERC20(_BASE_TOKEN_).balanceOf(address(this)) >= _BASE_BALANCE_.add(amount),\n \"DODO_BASE_BALANCE_NOT_ENOUGH\"\n );\n }\n if (token == _QUOTE_TOKEN_) {\n require(\n IERC20(_QUOTE_TOKEN_).balanceOf(address(this)) >= _QUOTE_BALANCE_.add(amount),\n \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"\n );\n }\n IERC20(token).safeTransfer(msg.sender, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "exportedSymbols": { - "Settlement": [ - 9396 - ] - }, - "id": 9397, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8855, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:26" - }, - { - "id": 8856, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:26" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 8858, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11624, - "src": "136:45:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8857, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 8860, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11441, - "src": "182:47:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8859, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:9:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 8862, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11079, - "src": "230:51:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8861, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "238:11:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 8864, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11632, - "src": "282:39:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8863, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "290:5:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "file": "../intf/IDODOLpToken.sol", - "id": 8866, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 10537, - "src": "322:54:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8865, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "330:12:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 8868, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 10608, - "src": "377:42:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8867, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "385:6:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 8870, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 9614, - "src": "420:38:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8869, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "428:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8872, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "583:7:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 8873, - "nodeType": "InheritanceSpecifier", - "src": "583:7:26" - } - ], - "contractDependencies": [ - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 8871, - "nodeType": "StructuredDocumentation", - "src": "461:98:26", - "text": " @title Settlement\n @author DODO Breeder\n @notice Functions for assets settlement" - }, - "fullyImplemented": true, - "id": 9396, - "linearizedBaseContracts": [ - 9396, - 9613, - 11296, - 11166 - ], - "name": "Settlement", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8876, - "libraryName": { - "contractScope": null, - "id": 8874, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "603:8:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "597:27:26", - "typeName": { - "id": 8875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "616:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8879, - "libraryName": { - "contractScope": null, - "id": 8877, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "635:9:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "629:27:26", - "typeName": { - "contractScope": null, - "id": 8878, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "649:6:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 8885, - "name": "Donate", - "nodeType": "EventDefinition", - "parameters": { - "id": 8884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8881, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8885, - "src": "716:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "716:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8883, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8885, - "src": "732:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8882, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "732:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "715:34:26" - }, - "src": "703:47:26" - }, - { - "anonymous": false, - "documentation": null, - "id": 8893, - "name": "ClaimAssets", - "nodeType": "EventDefinition", - "parameters": { - "id": 8892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8887, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "774:20:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "774:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8889, - "indexed": false, - "mutability": "mutable", - "name": "baseTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "796:23:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8891, - "indexed": false, - "mutability": "mutable", - "name": "quoteTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "821:24:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "821:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "773:73:26" - }, - "src": "756:91:26" - }, - { - "body": { - "id": 8929, - "nodeType": "Block", - "src": "980:236:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8903, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "1017:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8901, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "998:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "998:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "998:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8905, - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9439, - "src": "1028:20:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:50:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "424153455f42414c414e43455f4c494d49545f4558434545444544", - "id": 8907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1050:29:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_73112b7b3e7782e99b674721f6033538d0f440b164e0f7d64c222cd9d5354cac", - "typeString": "literal_string \"BASE_BALANCE_LIMIT_EXCEEDED\"" - }, - "value": "BASE_BALANCE_LIMIT_EXCEEDED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_73112b7b3e7782e99b674721f6033538d0f440b164e0f7d64c222cd9d5354cac", - "typeString": "literal_string \"BASE_BALANCE_LIMIT_EXCEEDED\"" - } - ], - "id": 8900, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "990:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "990:90:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8909, - "nodeType": "ExpressionStatement", - "src": "990:90:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8914, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8895, - "src": "1128:4:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8917, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1142:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 8916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1134:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8915, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1134:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1134:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8919, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "1149:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8911, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1097:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8910, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1090:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1090:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 8913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "1090:37:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 8920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1090:66:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8921, - "nodeType": "ExpressionStatement", - "src": "1090:66:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 8927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8922, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1166:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8925, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "1202:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8923, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1183:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1183:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1183:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1166:43:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8928, - "nodeType": "ExpressionStatement", - "src": "1166:43:26" - } - ] - }, - "documentation": null, - "id": 8930, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseTokenTransferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8895, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8930, - "src": "941:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "941:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8897, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8930, - "src": "955:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "955:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "940:30:26" - }, - "returnParameters": { - "id": 8899, - "nodeType": "ParameterList", - "parameters": [], - "src": "980:0:26" - }, - "scope": 9396, - "src": "911:305:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8966, - "nodeType": "Block", - "src": "1292:276:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8940, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8934, - "src": "1343:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8938, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1323:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1323:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1323:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8942, - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "1354:21:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1323:52:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "51554f54455f42414c414e43455f4c494d49545f4558434545444544", - "id": 8944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1389:30:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_46871c05d43b94497f8d7f8fa48b2494d3e639610f744f02bdfb7bde16628eb4", - "typeString": "literal_string \"QUOTE_BALANCE_LIMIT_EXCEEDED\"" - }, - "value": "QUOTE_BALANCE_LIMIT_EXCEEDED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_46871c05d43b94497f8d7f8fa48b2494d3e639610f744f02bdfb7bde16628eb4", - "typeString": "literal_string \"QUOTE_BALANCE_LIMIT_EXCEEDED\"" - } - ], - "id": 8937, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1302:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1302:127:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8946, - "nodeType": "ExpressionStatement", - "src": "1302:127:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8951, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8932, - "src": "1478:4:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8954, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1492:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 8953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1484:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1484:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1484:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8956, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8934, - "src": "1499:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8948, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1446:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8947, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1439:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 8950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "1439:38:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 8957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:67:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8958, - "nodeType": "ExpressionStatement", - "src": "1439:67:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 8964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8959, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1516:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8962, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8934, - "src": "1554:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8960, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1534:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1534:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1534:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1516:45:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8965, - "nodeType": "ExpressionStatement", - "src": "1516:45:26" - } - ] - }, - "documentation": null, - "id": 8967, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_quoteTokenTransferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8932, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8967, - "src": "1253:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8931, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1253:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8934, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8967, - "src": "1267:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1267:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1252:30:26" - }, - "returnParameters": { - "id": 8936, - "nodeType": "ParameterList", - "parameters": [], - "src": "1292:0:26" - }, - "scope": 9396, - "src": "1222:346:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8989, - "nodeType": "Block", - "src": "1642:115:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8978, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8969, - "src": "1686:2:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8979, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8971, - "src": "1690:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8975, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1659:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8974, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1652:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1652:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 8977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "1652:33:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 8980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1652:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8981, - "nodeType": "ExpressionStatement", - "src": "1652:45:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 8987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8982, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1707:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8985, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8971, - "src": "1743:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8983, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1724:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1724:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1724:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:43:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8988, - "nodeType": "ExpressionStatement", - "src": "1707:43:26" - } - ] - }, - "documentation": null, - "id": 8990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseTokenTransferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8969, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8990, - "src": "1605:10:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1605:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8971, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8990, - "src": "1617:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1617:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1604:28:26" - }, - "returnParameters": { - "id": 8973, - "nodeType": "ParameterList", - "parameters": [], - "src": "1642:0:26" - }, - "scope": 9396, - "src": "1574:183:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9012, - "nodeType": "Block", - "src": "1832:118:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9001, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8992, - "src": "1877:2:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9002, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8994, - "src": "1881:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8998, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1849:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8997, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1842:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "1842:34:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 9003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9004, - "nodeType": "ExpressionStatement", - "src": "1842:46:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9005, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1898:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9008, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8994, - "src": "1936:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9006, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1916:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1916:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1916:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1898:45:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9011, - "nodeType": "ExpressionStatement", - "src": "1898:45:26" - } - ] - }, - "documentation": null, - "id": 9013, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_quoteTokenTransferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8992, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9013, - "src": "1795:10:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1795:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8994, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9013, - "src": "1807:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1807:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1794:28:26" - }, - "returnParameters": { - "id": 8996, - "nodeType": "ParameterList", - "parameters": [], - "src": "1832:0:26" - }, - "scope": 9396, - "src": "1763:187:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9030, - "nodeType": "Block", - "src": "2076:119:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9018, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2086:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9021, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9015, - "src": "2146:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9019, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2115:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2115:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2115:38:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2086:67:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9024, - "nodeType": "ExpressionStatement", - "src": "2086:67:26" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9026, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9015, - "src": "2175:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2183:4:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 9025, - "name": "Donate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8885, - "src": "2168:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool)" - } - }, - "id": 9028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2168:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9029, - "nodeType": "EmitStatement", - "src": "2163:25:26" - } - ] - }, - "documentation": null, - "id": 9031, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_donateBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9015, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9031, - "src": "2051:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2051:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2050:16:26" - }, - "returnParameters": { - "id": 9017, - "nodeType": "ParameterList", - "parameters": [], - "src": "2076:0:26" - }, - "scope": 9396, - "src": "2025:170:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9048, - "nodeType": "Block", - "src": "2253:122:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9036, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2263:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9039, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "2325:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9037, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2293:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2293:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2293:39:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2263:69:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9042, - "nodeType": "ExpressionStatement", - "src": "2263:69:26" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "2354:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2362:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 9043, - "name": "Donate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8885, - "src": "2347:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool)" - } - }, - "id": 9046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2347:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9047, - "nodeType": "EmitStatement", - "src": "2342:26:26" - } - ] - }, - "documentation": null, - "id": 9049, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_donateQuoteToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9034, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9033, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9049, - "src": "2228:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9032, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2228:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2227:16:26" - }, - "returnParameters": { - "id": 9035, - "nodeType": "ParameterList", - "parameters": [], - "src": "2253:0:26" - }, - "scope": 9396, - "src": "2201:174:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9066, - "nodeType": "Block", - "src": "2448:91:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2479:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2479:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9059, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "2491:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9056, - "name": "_baseTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "2458:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2458:40:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9061, - "nodeType": "ExpressionStatement", - "src": "2458:40:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9063, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "2525:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9062, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "2508:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2508:24:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9065, - "nodeType": "ExpressionStatement", - "src": "2508:24:26" - } - ] - }, - "documentation": null, - "functionSelector": "ed0aa428", - "id": 9067, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9054, - "modifierName": { - "argumentTypes": null, - "id": 9053, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2431:16:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2431:16:26" - } - ], - "name": "donateBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9051, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9067, - "src": "2406:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2405:16:26" - }, - "returnParameters": { - "id": 9055, - "nodeType": "ParameterList", - "parameters": [], - "src": "2448:0:26" - }, - "scope": 9396, - "src": "2381:158:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9084, - "nodeType": "Block", - "src": "2613:93:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9075, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2645:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2645:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9077, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9069, - "src": "2657:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9074, - "name": "_quoteTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8967, - "src": "2623:21:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2623:41:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9079, - "nodeType": "ExpressionStatement", - "src": "2623:41:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9081, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9069, - "src": "2692:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9080, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "2674:17:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:25:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9083, - "nodeType": "ExpressionStatement", - "src": "2674:25:26" - } - ] - }, - "documentation": null, - "functionSelector": "387b0c11", - "id": 9085, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9072, - "modifierName": { - "argumentTypes": null, - "id": 9071, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2596:16:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2596:16:26" - } - ], - "name": "donateQuoteToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9069, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9085, - "src": "2571:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2571:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2570:16:26" - }, - "returnParameters": { - "id": 9073, - "nodeType": "ParameterList", - "parameters": [], - "src": "2613:0:26" - }, - "scope": 9396, - "src": "2545:161:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9174, - "nodeType": "Block", - "src": "2864:950:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9092, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "2874:8:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2885:4:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2874:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9095, - "nodeType": "ExpressionStatement", - "src": "2874:15:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9096, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "2899:23:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2925:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2899:31:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9099, - "nodeType": "ExpressionStatement", - "src": "2899:31:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9100, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "2940:22:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2965:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2940:30:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9103, - "nodeType": "ExpressionStatement", - "src": "2940:30:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9104, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "2980:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2998:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2980:23:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9107, - "nodeType": "ExpressionStatement", - "src": "2980:23:26" - }, - { - "assignments": [ - 9109 - ], - "declarations": [ - { - "constant": false, - "id": 9109, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9174, - "src": "3013:24:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3013:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9112, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9110, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "3040:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3040:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3013:48:26" - }, - { - "assignments": [ - 9114 - ], - "declarations": [ - { - "constant": false, - "id": 9114, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9174, - "src": "3071:25:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3071:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9117, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9115, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "3099:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3099:22:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3071:50:26" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9118, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3136:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9119, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3154:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3136:45:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9141, - "nodeType": "Block", - "src": "3378:70:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9137, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3392:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9138, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3422:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3392:45:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9140, - "nodeType": "ExpressionStatement", - "src": "3392:45:26" - } - ] - }, - "id": 9142, - "nodeType": "IfStatement", - "src": "3132:316:26", - "trueBody": { - "id": 9136, - "nodeType": "Block", - "src": "3183:189:26", - "statements": [ - { - "assignments": [ - 9122 - ], - "declarations": [ - { - "constant": false, - "id": 9122, - "mutability": "mutable", - "name": "spareQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9136, - "src": "3197:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3197:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9127, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9125, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3238:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9123, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3218:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3218:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3218:48:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3197:69:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9128, - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9473, - "src": "3280:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9131, - "name": "spareQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9122, - "src": "3332:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9132, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9109, - "src": "3344:16:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9129, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3311:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "3311:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3311:50:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3280:81:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9135, - "nodeType": "ExpressionStatement", - "src": "3280:81:26" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9143, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "3462:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9144, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3479:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3462:43:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9166, - "nodeType": "Block", - "src": "3699:68:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9162, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3713:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9163, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "3742:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3713:43:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9165, - "nodeType": "ExpressionStatement", - "src": "3713:43:26" - } - ] - }, - "id": 9167, - "nodeType": "IfStatement", - "src": "3458:309:26", - "trueBody": { - "id": 9161, - "nodeType": "Block", - "src": "3507:186:26", - "statements": [ - { - "assignments": [ - 9147 - ], - "declarations": [ - { - "constant": false, - "id": 9147, - "mutability": "mutable", - "name": "spareBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9161, - "src": "3521:17:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3521:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9152, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9150, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3560:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9148, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "3541:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3541:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3541:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3521:66:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9153, - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9475, - "src": "3601:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9156, - "name": "spareBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9147, - "src": "3653:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9157, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9114, - "src": "3664:17:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9154, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3632:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "3632:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3632:50:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3601:81:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9160, - "nodeType": "ExpressionStatement", - "src": "3601:81:26" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 9172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9168, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "3777:10:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9169, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "3790:5:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 9170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "3790:13:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 9171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3790:17:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "3777:30:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 9173, - "nodeType": "ExpressionStatement", - "src": "3777:30:26" - } - ] - }, - "documentation": null, - "functionSelector": "648a4fac", - "id": 9175, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9088, - "modifierName": { - "argumentTypes": null, - "id": 9087, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2844:9:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2844:9:26" - }, - { - "arguments": null, - "id": 9090, - "modifierName": { - "argumentTypes": null, - "id": 9089, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2854:9:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2854:9:26" - } - ], - "name": "finalSettlement", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9086, - "nodeType": "ParameterList", - "parameters": [], - "src": "2832:2:26" - }, - "returnParameters": { - "id": 9091, - "nodeType": "ParameterList", - "parameters": [], - "src": "2864:0:26" - }, - "scope": 9396, - "src": "2808:1006:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9329, - "nodeType": "Block", - "src": "3922:1343:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9181, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "3940:8:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f434c4f534544", - "id": 9182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3950:17:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fdecdbea6b0a4c5263013d9193a4b5225e5c7851ff0e83a8bf5860fa4ea7f6f6", - "typeString": "literal_string \"DODO_NOT_CLOSED\"" - }, - "value": "DODO_NOT_CLOSED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fdecdbea6b0a4c5263013d9193a4b5225e5c7851ff0e83a8bf5860fa4ea7f6f6", - "typeString": "literal_string \"DODO_NOT_CLOSED\"" - } - ], - "id": 9180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3932:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3932:36:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9184, - "nodeType": "ExpressionStatement", - "src": "3932:36:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3986:22:26", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9186, - "name": "_CLAIMED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9479, - "src": "3987:9:26", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 9189, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9187, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3997:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3997:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3987:21:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c52454144595f434c41494d4544", - "id": 9191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4010:17:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc7a4f08369e04191e5d601ef52230a181560bfbd7431497090a8eabc5119861", - "typeString": "literal_string \"ALREADY_CLAIMED\"" - }, - "value": "ALREADY_CLAIMED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc7a4f08369e04191e5d601ef52230a181560bfbd7431497090a8eabc5119861", - "typeString": "literal_string \"ALREADY_CLAIMED\"" - } - ], - "id": 9185, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3978:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3978:50:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9193, - "nodeType": "ExpressionStatement", - "src": "3978:50:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9194, - "name": "_CLAIMED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9479, - "src": "4038:9:26", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 9197, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9195, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4048:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4048:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4038:21:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4062:4:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4038:28:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9200, - "nodeType": "ExpressionStatement", - "src": "4038:28:26" - }, - { - "assignments": [ - 9202 - ], - "declarations": [ - { - "constant": false, - "id": 9202, - "mutability": "mutable", - "name": "quoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4077:20:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4077:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9207, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4125:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4125:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9203, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "4100:24:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 9206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4100:36:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4077:59:26" - }, - { - "assignments": [ - 9209 - ], - "declarations": [ - { - "constant": false, - "id": 9209, - "mutability": "mutable", - "name": "baseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4146:19:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4146:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9214, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4192:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9210, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4168:23:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 9213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4168:35:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4146:57:26" - }, - { - "assignments": [ - 9216 - ], - "declarations": [ - { - "constant": false, - "id": 9216, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4214:19:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4214:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9218, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 9217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4236:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4214:23:26" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9219, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "4251:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4266:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4251:16:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9234, - "nodeType": "IfStatement", - "src": "4247:134:26", - "trueBody": { - "id": 9233, - "nodeType": "Block", - "src": "4269:112:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9222, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4283:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9228, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "4347:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4347:22:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9225, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "4329:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9223, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4297:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4297:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4297:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4297:49:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4297:73:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4283:87:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9232, - "nodeType": "ExpressionStatement", - "src": "4283:87:26" - } - ] - } - }, - { - "assignments": [ - 9236 - ], - "declarations": [ - { - "constant": false, - "id": 9236, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4390:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9238, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 9237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4411:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4390:22:26" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9239, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "4426:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4440:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4426:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9254, - "nodeType": "IfStatement", - "src": "4422:129:26", - "trueBody": { - "id": 9253, - "nodeType": "Block", - "src": "4443:108:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9242, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4457:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9248, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "4518:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4518:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9245, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "4501:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9243, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4470:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4470:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4470:43:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4470:47:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4470:70:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4457:83:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9252, - "nodeType": "ExpressionStatement", - "src": "4457:83:26" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 9260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9255, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4561:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9258, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4623:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9256, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4591:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4591:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4591:44:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4561:74:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9261, - "nodeType": "ExpressionStatement", - "src": "4561:74:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9262, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4645:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9265, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4705:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9263, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4674:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4674:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4674:42:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4645:71:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9268, - "nodeType": "ExpressionStatement", - "src": "4645:71:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9269, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4727:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9274, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "4773:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9275, - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9473, - "src": "4786:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9272, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4757:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "4757:15:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4757:58:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9270, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4741:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4741:15:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4741:75:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4727:89:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9279, - "nodeType": "ExpressionStatement", - "src": "4727:89:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9280, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4826:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9285, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "4870:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9286, - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9475, - "src": "4884:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9283, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4854:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "4854:15:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4854:59:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9281, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4839:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4839:14:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4839:75:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4826:88:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9290, - "nodeType": "ExpressionStatement", - "src": "4826:88:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9292, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4947:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4947:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9294, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4959:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9291, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "4925:21:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4925:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9296, - "nodeType": "ExpressionStatement", - "src": "4925:45:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9298, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5003:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5003:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9300, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "5015:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9297, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "4980:22:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4980:47:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9302, - "nodeType": "ExpressionStatement", - "src": "4980:47:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5078:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5078:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9309, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "5090:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9304, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "5051:20:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9303, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "5038:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5038:34:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "5038:39:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5038:64:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9311, - "nodeType": "ExpressionStatement", - "src": "5038:64:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9316, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5153:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5153:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9318, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "5165:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9313, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "5125:21:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9312, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "5112:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:35:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "5112:40:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:66:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9320, - "nodeType": "ExpressionStatement", - "src": "5112:66:26" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9322, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5206:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5206:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9324, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "5218:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9325, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "5230:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9321, - "name": "ClaimAssets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8893, - "src": "5194:11:26", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 9326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5194:48:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9327, - "nodeType": "EmitStatement", - "src": "5189:53:26" - }, - { - "expression": null, - "functionReturnParameters": 9179, - "id": 9328, - "nodeType": "Return", - "src": "5252:7:26" - } - ] - }, - "documentation": null, - "functionSelector": "1f3c156e", - "id": 9330, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9178, - "modifierName": { - "argumentTypes": null, - "id": 9177, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3905:16:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3905:16:26" - } - ], - "name": "claimAssets", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9176, - "nodeType": "ParameterList", - "parameters": [], - "src": "3893:2:26" - }, - "returnParameters": { - "id": 9179, - "nodeType": "ParameterList", - "parameters": [], - "src": "3922:0:26" - }, - "scope": 9396, - "src": "3873:1392:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9394, - "nodeType": "Block", - "src": "5392:513:26", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9339, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "5406:5:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9340, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "5415:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5406:21:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9361, - "nodeType": "IfStatement", - "src": "5402:214:26", - "trueBody": { - "id": 9360, - "nodeType": "Block", - "src": "5429:187:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9349, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5507:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 9348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5499:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9347, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5499:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9344, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "5475:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9343, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5468:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 9345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5468:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "5468:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5468:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9354, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "5536:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9352, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "5517:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5517:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5517:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5468:75:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 9357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5561:30:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 9342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5443:162:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9359, - "nodeType": "ExpressionStatement", - "src": "5443:162:26" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9362, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "5629:5:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9363, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "5638:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5629:22:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9384, - "nodeType": "IfStatement", - "src": "5625:218:26", - "trueBody": { - "id": 9383, - "nodeType": "Block", - "src": "5653:190:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9372, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5732:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 9371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5724:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5724:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5724:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9367, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "5699:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9366, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5692:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 9368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5692:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "5692:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5692:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9377, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "5762:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9375, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5742:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5742:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5742:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5692:77:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748", - "id": 9380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5787:31:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_QUOTE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 9365, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5667:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5667:165:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9382, - "nodeType": "ExpressionStatement", - "src": "5667:165:26" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9389, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5879:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5879:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9391, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "5891:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9386, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "5859:5:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9385, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5852:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 9387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5852:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "5852:26:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 9392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5852:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9393, - "nodeType": "ExpressionStatement", - "src": "5852:46:26" - } - ] - }, - "documentation": null, - "functionSelector": "c3a2a665", - "id": 9395, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9337, - "modifierName": { - "argumentTypes": null, - "id": 9336, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "5382:9:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5382:9:26" - } - ], - "name": "retrieve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9332, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9395, - "src": "5342:13:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5342:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9334, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9395, - "src": "5357:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5357:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5341:31:26" - }, - "returnParameters": { - "id": 9338, - "nodeType": "ParameterList", - "parameters": [], - "src": "5392:0:26" - }, - "scope": 9396, - "src": "5324:581:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9397, - "src": "560:5347:26" - } - ], - "src": "78:5830:26" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "exportedSymbols": { - "Settlement": [ - 9396 - ] - }, - "id": 9397, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8855, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:26" - }, - { - "id": 8856, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:26" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 8858, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11624, - "src": "136:45:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8857, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 8860, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11441, - "src": "182:47:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8859, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:9:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 8862, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11079, - "src": "230:51:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8861, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "238:11:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 8864, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 11632, - "src": "282:39:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8863, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "290:5:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "file": "../intf/IDODOLpToken.sol", - "id": 8866, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 10537, - "src": "322:54:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8865, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "330:12:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 8868, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 10608, - "src": "377:42:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8867, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "385:6:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 8870, - "nodeType": "ImportDirective", - "scope": 9397, - "sourceUnit": 9614, - "src": "420:38:26", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 8869, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "428:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8872, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "583:7:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 8873, - "nodeType": "InheritanceSpecifier", - "src": "583:7:26" - } - ], - "contractDependencies": [ - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 8871, - "nodeType": "StructuredDocumentation", - "src": "461:98:26", - "text": " @title Settlement\n @author DODO Breeder\n @notice Functions for assets settlement" - }, - "fullyImplemented": true, - "id": 9396, - "linearizedBaseContracts": [ - 9396, - 9613, - 11296, - 11166 - ], - "name": "Settlement", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8876, - "libraryName": { - "contractScope": null, - "id": 8874, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "603:8:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "597:27:26", - "typeName": { - "id": 8875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "616:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8879, - "libraryName": { - "contractScope": null, - "id": 8877, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "635:9:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "629:27:26", - "typeName": { - "contractScope": null, - "id": 8878, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "649:6:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 8885, - "name": "Donate", - "nodeType": "EventDefinition", - "parameters": { - "id": 8884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8881, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8885, - "src": "716:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "716:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8883, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8885, - "src": "732:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8882, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "732:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "715:34:26" - }, - "src": "703:47:26" - }, - { - "anonymous": false, - "documentation": null, - "id": 8893, - "name": "ClaimAssets", - "nodeType": "EventDefinition", - "parameters": { - "id": 8892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8887, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "774:20:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "774:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8889, - "indexed": false, - "mutability": "mutable", - "name": "baseTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "796:23:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8891, - "indexed": false, - "mutability": "mutable", - "name": "quoteTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "821:24:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "821:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "773:73:26" - }, - "src": "756:91:26" - }, - { - "body": { - "id": 8929, - "nodeType": "Block", - "src": "980:236:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8903, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "1017:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8901, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "998:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "998:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "998:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8905, - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9439, - "src": "1028:20:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:50:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "424153455f42414c414e43455f4c494d49545f4558434545444544", - "id": 8907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1050:29:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_73112b7b3e7782e99b674721f6033538d0f440b164e0f7d64c222cd9d5354cac", - "typeString": "literal_string \"BASE_BALANCE_LIMIT_EXCEEDED\"" - }, - "value": "BASE_BALANCE_LIMIT_EXCEEDED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_73112b7b3e7782e99b674721f6033538d0f440b164e0f7d64c222cd9d5354cac", - "typeString": "literal_string \"BASE_BALANCE_LIMIT_EXCEEDED\"" - } - ], - "id": 8900, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "990:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "990:90:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8909, - "nodeType": "ExpressionStatement", - "src": "990:90:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8914, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8895, - "src": "1128:4:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8917, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1142:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 8916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1134:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8915, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1134:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1134:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8919, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "1149:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8911, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1097:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8910, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1090:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1090:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 8913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "1090:37:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 8920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1090:66:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8921, - "nodeType": "ExpressionStatement", - "src": "1090:66:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 8927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8922, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1166:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8925, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "1202:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8923, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1183:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1183:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1183:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1166:43:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8928, - "nodeType": "ExpressionStatement", - "src": "1166:43:26" - } - ] - }, - "documentation": null, - "id": 8930, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseTokenTransferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8895, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8930, - "src": "941:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "941:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8897, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8930, - "src": "955:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "955:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "940:30:26" - }, - "returnParameters": { - "id": 8899, - "nodeType": "ParameterList", - "parameters": [], - "src": "980:0:26" - }, - "scope": 9396, - "src": "911:305:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8966, - "nodeType": "Block", - "src": "1292:276:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8940, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8934, - "src": "1343:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8938, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1323:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1323:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1323:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8942, - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "1354:21:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1323:52:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "51554f54455f42414c414e43455f4c494d49545f4558434545444544", - "id": 8944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1389:30:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_46871c05d43b94497f8d7f8fa48b2494d3e639610f744f02bdfb7bde16628eb4", - "typeString": "literal_string \"QUOTE_BALANCE_LIMIT_EXCEEDED\"" - }, - "value": "QUOTE_BALANCE_LIMIT_EXCEEDED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_46871c05d43b94497f8d7f8fa48b2494d3e639610f744f02bdfb7bde16628eb4", - "typeString": "literal_string \"QUOTE_BALANCE_LIMIT_EXCEEDED\"" - } - ], - "id": 8937, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1302:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1302:127:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8946, - "nodeType": "ExpressionStatement", - "src": "1302:127:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8951, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8932, - "src": "1478:4:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8954, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1492:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 8953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1484:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1484:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1484:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8956, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8934, - "src": "1499:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8948, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1446:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8947, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1439:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 8950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 11354, - "src": "1439:38:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 8957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1439:67:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8958, - "nodeType": "ExpressionStatement", - "src": "1439:67:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 8964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8959, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1516:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8962, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8934, - "src": "1554:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8960, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1534:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1534:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1534:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1516:45:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8965, - "nodeType": "ExpressionStatement", - "src": "1516:45:26" - } - ] - }, - "documentation": null, - "id": 8967, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_quoteTokenTransferIn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8935, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8932, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8967, - "src": "1253:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8931, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1253:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8934, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8967, - "src": "1267:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1267:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1252:30:26" - }, - "returnParameters": { - "id": 8936, - "nodeType": "ParameterList", - "parameters": [], - "src": "1292:0:26" - }, - "scope": 9396, - "src": "1222:346:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 8989, - "nodeType": "Block", - "src": "1642:115:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8978, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8969, - "src": "1686:2:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8979, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8971, - "src": "1690:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8975, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "1659:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8974, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1652:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1652:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 8977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "1652:33:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 8980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1652:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8981, - "nodeType": "ExpressionStatement", - "src": "1652:45:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 8987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8982, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1707:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8985, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8971, - "src": "1743:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8983, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "1724:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1724:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1724:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1707:43:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8988, - "nodeType": "ExpressionStatement", - "src": "1707:43:26" - } - ] - }, - "documentation": null, - "id": 8990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseTokenTransferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8969, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8990, - "src": "1605:10:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1605:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8971, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8990, - "src": "1617:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1617:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1604:28:26" - }, - "returnParameters": { - "id": 8973, - "nodeType": "ParameterList", - "parameters": [], - "src": "1642:0:26" - }, - "scope": 9396, - "src": "1574:183:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9012, - "nodeType": "Block", - "src": "1832:118:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9001, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8992, - "src": "1877:2:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9002, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8994, - "src": "1881:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8998, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "1849:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8997, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1842:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 8999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "1842:34:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 9003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9004, - "nodeType": "ExpressionStatement", - "src": "1842:46:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9005, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1898:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9008, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8994, - "src": "1936:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9006, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "1916:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1916:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1916:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1898:45:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9011, - "nodeType": "ExpressionStatement", - "src": "1898:45:26" - } - ] - }, - "documentation": null, - "id": 9013, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_quoteTokenTransferOut", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8992, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9013, - "src": "1795:10:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1795:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8994, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9013, - "src": "1807:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1807:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1794:28:26" - }, - "returnParameters": { - "id": 8996, - "nodeType": "ParameterList", - "parameters": [], - "src": "1832:0:26" - }, - "scope": 9396, - "src": "1763:187:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9030, - "nodeType": "Block", - "src": "2076:119:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9018, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2086:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9021, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9015, - "src": "2146:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9019, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2115:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2115:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2115:38:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2086:67:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9024, - "nodeType": "ExpressionStatement", - "src": "2086:67:26" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9026, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9015, - "src": "2175:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2183:4:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 9025, - "name": "Donate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8885, - "src": "2168:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool)" - } - }, - "id": 9028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2168:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9029, - "nodeType": "EmitStatement", - "src": "2163:25:26" - } - ] - }, - "documentation": null, - "id": 9031, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_donateBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9015, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9031, - "src": "2051:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2051:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2050:16:26" - }, - "returnParameters": { - "id": 9017, - "nodeType": "ParameterList", - "parameters": [], - "src": "2076:0:26" - }, - "scope": 9396, - "src": "2025:170:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9048, - "nodeType": "Block", - "src": "2253:122:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9036, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2263:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9039, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "2325:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9037, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2293:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2293:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2293:39:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2263:69:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9042, - "nodeType": "ExpressionStatement", - "src": "2263:69:26" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "2354:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2362:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 9043, - "name": "Donate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8885, - "src": "2347:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (uint256,bool)" - } - }, - "id": 9046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2347:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9047, - "nodeType": "EmitStatement", - "src": "2342:26:26" - } - ] - }, - "documentation": null, - "id": 9049, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_donateQuoteToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9034, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9033, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9049, - "src": "2228:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9032, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2228:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2227:16:26" - }, - "returnParameters": { - "id": 9035, - "nodeType": "ParameterList", - "parameters": [], - "src": "2253:0:26" - }, - "scope": 9396, - "src": "2201:174:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9066, - "nodeType": "Block", - "src": "2448:91:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2479:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2479:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9059, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "2491:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9056, - "name": "_baseTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "2458:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2458:40:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9061, - "nodeType": "ExpressionStatement", - "src": "2458:40:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9063, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "2525:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9062, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "2508:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2508:24:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9065, - "nodeType": "ExpressionStatement", - "src": "2508:24:26" - } - ] - }, - "documentation": null, - "functionSelector": "ed0aa428", - "id": 9067, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9054, - "modifierName": { - "argumentTypes": null, - "id": 9053, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2431:16:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2431:16:26" - } - ], - "name": "donateBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9051, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9067, - "src": "2406:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2405:16:26" - }, - "returnParameters": { - "id": 9055, - "nodeType": "ParameterList", - "parameters": [], - "src": "2448:0:26" - }, - "scope": 9396, - "src": "2381:158:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9084, - "nodeType": "Block", - "src": "2613:93:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9075, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2645:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2645:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9077, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9069, - "src": "2657:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9074, - "name": "_quoteTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8967, - "src": "2623:21:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2623:41:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9079, - "nodeType": "ExpressionStatement", - "src": "2623:41:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9081, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9069, - "src": "2692:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9080, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "2674:17:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2674:25:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9083, - "nodeType": "ExpressionStatement", - "src": "2674:25:26" - } - ] - }, - "documentation": null, - "functionSelector": "387b0c11", - "id": 9085, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9072, - "modifierName": { - "argumentTypes": null, - "id": 9071, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "2596:16:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2596:16:26" - } - ], - "name": "donateQuoteToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9069, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9085, - "src": "2571:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2571:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2570:16:26" - }, - "returnParameters": { - "id": 9073, - "nodeType": "ParameterList", - "parameters": [], - "src": "2613:0:26" - }, - "scope": 9396, - "src": "2545:161:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9174, - "nodeType": "Block", - "src": "2864:950:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9092, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "2874:8:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2885:4:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2874:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9095, - "nodeType": "ExpressionStatement", - "src": "2874:15:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9096, - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9427, - "src": "2899:23:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2925:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2899:31:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9099, - "nodeType": "ExpressionStatement", - "src": "2899:31:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9100, - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9429, - "src": "2940:22:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2965:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2940:30:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9103, - "nodeType": "ExpressionStatement", - "src": "2940:30:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9104, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "2980:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2998:5:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2980:23:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9107, - "nodeType": "ExpressionStatement", - "src": "2980:23:26" - }, - { - "assignments": [ - 9109 - ], - "declarations": [ - { - "constant": false, - "id": 9109, - "mutability": "mutable", - "name": "totalBaseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9174, - "src": "3013:24:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3013:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9112, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9110, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "3040:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3040:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3013:48:26" - }, - { - "assignments": [ - 9114 - ], - "declarations": [ - { - "constant": false, - "id": 9114, - "mutability": "mutable", - "name": "totalQuoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9174, - "src": "3071:25:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3071:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9117, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9115, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "3099:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3099:22:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3071:50:26" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9118, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3136:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9119, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3154:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3136:45:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9141, - "nodeType": "Block", - "src": "3378:70:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9137, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3392:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9138, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3422:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3392:45:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9140, - "nodeType": "ExpressionStatement", - "src": "3392:45:26" - } - ] - }, - "id": 9142, - "nodeType": "IfStatement", - "src": "3132:316:26", - "trueBody": { - "id": 9136, - "nodeType": "Block", - "src": "3183:189:26", - "statements": [ - { - "assignments": [ - 9122 - ], - "declarations": [ - { - "constant": false, - "id": 9122, - "mutability": "mutable", - "name": "spareQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9136, - "src": "3197:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3197:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9127, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9125, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3238:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9123, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "3218:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3218:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3218:48:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3197:69:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9128, - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9473, - "src": "3280:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9131, - "name": "spareQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9122, - "src": "3332:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9132, - "name": "totalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9109, - "src": "3344:16:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9129, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3311:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "3311:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3311:50:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3280:81:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9135, - "nodeType": "ExpressionStatement", - "src": "3280:81:26" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9143, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "3462:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9144, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3479:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3462:43:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9166, - "nodeType": "Block", - "src": "3699:68:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9162, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3713:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9163, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "3742:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3713:43:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9165, - "nodeType": "ExpressionStatement", - "src": "3713:43:26" - } - ] - }, - "id": 9167, - "nodeType": "IfStatement", - "src": "3458:309:26", - "trueBody": { - "id": 9161, - "nodeType": "Block", - "src": "3507:186:26", - "statements": [ - { - "assignments": [ - 9147 - ], - "declarations": [ - { - "constant": false, - "id": 9147, - "mutability": "mutable", - "name": "spareBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9161, - "src": "3521:17:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3521:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9152, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9150, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "3560:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9148, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "3541:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3541:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3541:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3521:66:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9153, - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9475, - "src": "3601:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9156, - "name": "spareBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9147, - "src": "3653:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9157, - "name": "totalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9114, - "src": "3664:17:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9154, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "3632:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "divFloor", - "nodeType": "MemberAccess", - "referencedDeclaration": 11059, - "src": "3632:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3632:50:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3601:81:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9160, - "nodeType": "ExpressionStatement", - "src": "3601:81:26" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 9172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9168, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "3777:10:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9169, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "3790:5:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 9170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "3790:13:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 9171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3790:17:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "3777:30:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 9173, - "nodeType": "ExpressionStatement", - "src": "3777:30:26" - } - ] - }, - "documentation": null, - "functionSelector": "648a4fac", - "id": 9175, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9088, - "modifierName": { - "argumentTypes": null, - "id": 9087, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "2844:9:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2844:9:26" - }, - { - "arguments": null, - "id": 9090, - "modifierName": { - "argumentTypes": null, - "id": 9089, - "name": "notClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9506, - "src": "2854:9:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2854:9:26" - } - ], - "name": "finalSettlement", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9086, - "nodeType": "ParameterList", - "parameters": [], - "src": "2832:2:26" - }, - "returnParameters": { - "id": 9091, - "nodeType": "ParameterList", - "parameters": [], - "src": "2864:0:26" - }, - "scope": 9396, - "src": "2808:1006:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9329, - "nodeType": "Block", - "src": "3922:1343:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9181, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "3940:8:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f4e4f545f434c4f534544", - "id": 9182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3950:17:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fdecdbea6b0a4c5263013d9193a4b5225e5c7851ff0e83a8bf5860fa4ea7f6f6", - "typeString": "literal_string \"DODO_NOT_CLOSED\"" - }, - "value": "DODO_NOT_CLOSED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fdecdbea6b0a4c5263013d9193a4b5225e5c7851ff0e83a8bf5860fa4ea7f6f6", - "typeString": "literal_string \"DODO_NOT_CLOSED\"" - } - ], - "id": 9180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3932:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3932:36:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9184, - "nodeType": "ExpressionStatement", - "src": "3932:36:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3986:22:26", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9186, - "name": "_CLAIMED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9479, - "src": "3987:9:26", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 9189, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9187, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3997:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3997:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3987:21:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c52454144595f434c41494d4544", - "id": 9191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4010:17:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc7a4f08369e04191e5d601ef52230a181560bfbd7431497090a8eabc5119861", - "typeString": "literal_string \"ALREADY_CLAIMED\"" - }, - "value": "ALREADY_CLAIMED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc7a4f08369e04191e5d601ef52230a181560bfbd7431497090a8eabc5119861", - "typeString": "literal_string \"ALREADY_CLAIMED\"" - } - ], - "id": 9185, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3978:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3978:50:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9193, - "nodeType": "ExpressionStatement", - "src": "3978:50:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9194, - "name": "_CLAIMED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9479, - "src": "4038:9:26", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 9197, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9195, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4048:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4048:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4038:21:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4062:4:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4038:28:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9200, - "nodeType": "ExpressionStatement", - "src": "4038:28:26" - }, - { - "assignments": [ - 9202 - ], - "declarations": [ - { - "constant": false, - "id": 9202, - "mutability": "mutable", - "name": "quoteCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4077:20:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4077:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9207, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4125:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4125:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9203, - "name": "getQuoteCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9592, - "src": "4100:24:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 9206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4100:36:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4077:59:26" - }, - { - "assignments": [ - 9209 - ], - "declarations": [ - { - "constant": false, - "id": 9209, - "mutability": "mutable", - "name": "baseCapital", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4146:19:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4146:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9214, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4192:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9210, - "name": "getBaseCapitalBalanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4168:23:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 9213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4168:35:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4146:57:26" - }, - { - "assignments": [ - 9216 - ], - "declarations": [ - { - "constant": false, - "id": 9216, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4214:19:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4214:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9218, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 9217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4236:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4214:23:26" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9219, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "4251:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4266:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4251:16:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9234, - "nodeType": "IfStatement", - "src": "4247:134:26", - "trueBody": { - "id": 9233, - "nodeType": "Block", - "src": "4269:112:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9222, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4283:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9228, - "name": "getTotalQuoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "4347:20:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4347:22:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9225, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "4329:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9223, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4297:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4297:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4297:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4297:49:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4297:73:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4283:87:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9232, - "nodeType": "ExpressionStatement", - "src": "4283:87:26" - } - ] - } - }, - { - "assignments": [ - 9236 - ], - "declarations": [ - { - "constant": false, - "id": 9236, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "4390:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9238, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 9237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4411:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4390:22:26" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9239, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "4426:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4440:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4426:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9254, - "nodeType": "IfStatement", - "src": "4422:129:26", - "trueBody": { - "id": 9253, - "nodeType": "Block", - "src": "4443:108:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9242, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4457:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9248, - "name": "getTotalBaseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9577, - "src": "4518:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 9249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4518:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9245, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "4501:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9243, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4470:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4470:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4470:43:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4470:47:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4470:70:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4457:83:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9252, - "nodeType": "ExpressionStatement", - "src": "4457:83:26" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 9260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9255, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4561:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9258, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4623:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9256, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4591:27:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4591:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4591:44:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4561:74:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9261, - "nodeType": "ExpressionStatement", - "src": "4561:74:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9262, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4645:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9265, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4705:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9263, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4674:26:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4674:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4674:42:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4645:71:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9268, - "nodeType": "ExpressionStatement", - "src": "4645:71:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9269, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4727:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9274, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "4773:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9275, - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9473, - "src": "4786:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9272, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4757:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "4757:15:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4757:58:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9270, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "4741:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4741:15:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4741:75:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4727:89:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9279, - "nodeType": "ExpressionStatement", - "src": "4727:89:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 9289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9280, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4826:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9285, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "4870:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9286, - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9475, - "src": "4884:28:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9283, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "4854:11:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "4854:15:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4854:59:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9281, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4839:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4839:14:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4839:75:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4826:88:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9290, - "nodeType": "ExpressionStatement", - "src": "4826:88:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9292, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4947:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4947:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9294, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "4959:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9291, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "4925:21:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4925:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9296, - "nodeType": "ExpressionStatement", - "src": "4925:45:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9298, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5003:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5003:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9300, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "5015:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9297, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "4980:22:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4980:47:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9302, - "nodeType": "ExpressionStatement", - "src": "4980:47:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5078:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5078:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9309, - "name": "baseCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9209, - "src": "5090:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9304, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "5051:20:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9303, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "5038:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5038:34:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "5038:39:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5038:64:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9311, - "nodeType": "ExpressionStatement", - "src": "5038:64:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9316, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5153:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5153:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9318, - "name": "quoteCapital", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9202, - "src": "5165:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9313, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "5125:21:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9312, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "5112:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:35:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 10523, - "src": "5112:40:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 9319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:66:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9320, - "nodeType": "ExpressionStatement", - "src": "5112:66:26" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9322, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5206:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5206:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9324, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9236, - "src": "5218:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9325, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9216, - "src": "5230:11:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9321, - "name": "ClaimAssets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8893, - "src": "5194:11:26", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 9326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5194:48:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9327, - "nodeType": "EmitStatement", - "src": "5189:53:26" - }, - { - "expression": null, - "functionReturnParameters": 9179, - "id": 9328, - "nodeType": "Return", - "src": "5252:7:26" - } - ] - }, - "documentation": null, - "functionSelector": "1f3c156e", - "id": 9330, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9178, - "modifierName": { - "argumentTypes": null, - "id": 9177, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3905:16:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3905:16:26" - } - ], - "name": "claimAssets", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9176, - "nodeType": "ParameterList", - "parameters": [], - "src": "3893:2:26" - }, - "returnParameters": { - "id": 9179, - "nodeType": "ParameterList", - "parameters": [], - "src": "3922:0:26" - }, - "scope": 9396, - "src": "3873:1392:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9394, - "nodeType": "Block", - "src": "5392:513:26", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9339, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "5406:5:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9340, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "5415:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5406:21:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9361, - "nodeType": "IfStatement", - "src": "5402:214:26", - "trueBody": { - "id": 9360, - "nodeType": "Block", - "src": "5429:187:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9349, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5507:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 9348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5499:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9347, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5499:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9344, - "name": "_BASE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9447, - "src": "5475:12:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9343, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5468:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 9345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5468:20:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "5468:30:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5468:45:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9354, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "5536:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9352, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "5517:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5517:18:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5517:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5468:75:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f424153455f42414c414e43455f4e4f545f454e4f554748", - "id": 9357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5561:30:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_BASE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997068fbd59291c0e94aa73a95de3c076c00f04014e63bef27a7316bb88c0e69", - "typeString": "literal_string \"DODO_BASE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 9342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5443:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5443:162:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9359, - "nodeType": "ExpressionStatement", - "src": "5443:162:26" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9362, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "5629:5:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9363, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "5638:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5629:22:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9384, - "nodeType": "IfStatement", - "src": "5625:218:26", - "trueBody": { - "id": 9383, - "nodeType": "Block", - "src": "5653:190:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9372, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5732:4:26", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - ], - "id": 9371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5724:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5724:7:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5724:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9367, - "name": "_QUOTE_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9449, - "src": "5699:13:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9366, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5692:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 9368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5692:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "5692:31:26", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5692:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9377, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "5762:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9375, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5742:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5742:19:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5742:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5692:77:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748", - "id": 9380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5787:31:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - }, - "value": "DODO_QUOTE_BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_01a080c50343e863e17230c1a9c9900101809eaf44c06794af82120907bb21f5", - "typeString": "literal_string \"DODO_QUOTE_BALANCE_NOT_ENOUGH\"" - } - ], - "id": 9365, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5667:7:26", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5667:165:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9382, - "nodeType": "ExpressionStatement", - "src": "5667:165:26" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9389, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5879:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5879:10:26", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9391, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9334, - "src": "5891:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9386, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "5859:5:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9385, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5852:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 9387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5852:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 9388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "5852:26:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 9392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5852:46:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9393, - "nodeType": "ExpressionStatement", - "src": "5852:46:26" - } - ] - }, - "documentation": null, - "functionSelector": "c3a2a665", - "id": 9395, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9337, - "modifierName": { - "argumentTypes": null, - "id": 9336, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11110, - "src": "5382:9:26", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5382:9:26" - } - ], - "name": "retrieve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9332, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9395, - "src": "5342:13:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5342:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9334, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9395, - "src": "5357:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5357:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5341:31:26" - }, - "returnParameters": { - "id": 9338, - "nodeType": "ParameterList", - "parameters": [], - "src": "5392:0:26" - }, - "scope": 9396, - "src": "5324:581:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9397, - "src": "560:5347:26" - } - ], - "src": "78:5830:26" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.696Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Settlement" - }, - "userdoc": { - "methods": {}, - "notice": "Functions for assets settlement" - } -} \ No newline at end of file diff --git a/build-v1/contracts/Storage.json b/build-v1/contracts/Storage.json deleted file mode 100644 index d8945f9..0000000 --- a/build-v1/contracts/Storage.json +++ /dev/null @@ -1,6490 +0,0 @@ -{ - "contractName": "Storage", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Storage\"},\"userdoc\":{\"methods\":{},\"notice\":\"Local Variables\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":\"Storage\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50610937806100206000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80637c9b8e8911610130578063c0ffa178116100b8578063dd58b41c1161007c578063dd58b41c14610381578063eab5d20e14610389578063ec2fd46d14610391578063f2fde38b14610399578063f67ed448146103ac57610227565b8063c0ffa17814610359578063c5bbffe814610361578063c6b73cf914610369578063d4b9704614610371578063d689107c1461037957610227565b8063a3161a56116100ff578063a3161a5614610331578063a598aca714610339578063ab44a7a314610341578063ac1fbc9814610349578063b2094fd31461035157610227565b80637c9b8e89146103115780638456db15146103195780638ff5e742146103215780639b020fba1461032957610227565b80634a248d2a116101b357806368be20ad1161018257806368be20ad146102c65780636ec6a58d146102e657806373a2ab7c146102ee578063796da7af146102f65780637aed942d146102fe57610227565b80634a248d2a146102a45780634de4527e146102ac5780634e71e0c8146102b457806354fd4d50146102be57610227565b806317be952e116101fa57806317be952e1461026f578063245c9685146102845780632aa82c651461028c5780633960f142146102945780634322ec831461029c57610227565b80630cd1667d1461022c5780630e6518e91461024a57806316048bc4146102525780631769ddaa14610267575b600080fd5b6102346103bf565b60405161024191906108f8565b60405180910390f35b610234610441565b61025a610447565b6040516102419190610854565b610234610456565b61027761045c565b6040516102419190610873565b610234610465565b61023461046b565b61025a6104b0565b61025a6104bf565b61025a6104ce565b6102346104dd565b6102bc6104e3565b005b61023461057a565b6102d96102d436600461080e565b61057f565b6040516102419190610868565b6102d9610594565b61025a6105a4565b6102346105b3565b61023461030c36600461080e565b6105f8565b61023461067f565b61025a610685565b6102d9610694565b6102346106a2565b6102d96106a8565b6102d96106b1565b6102346106c1565b61025a6106c7565b6102346106d6565b6102346106dc565b6102d96106e2565b6102346106f2565b61025a6106f8565b61025a610707565b6102d9610716565b610234610726565b61023461072c565b6102bc6103a736600461080e565b610732565b6102346103ba36600461080e565b6107dd565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043c919061083c565b905090565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561040457600080fd5b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90610887565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561040457600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610629908590600401610854565b60206040518083038186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610679919061083c565b92915050565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b6000546001600160a01b0316331461075c5760405162461bcd60e51b815260040161050d906108d5565b6001600160a01b0381166107825760405162461bcd60e51b815260040161050d906108ae565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610629908590600401610854565b60006020828403121561081f578081fd5b81356001600160a01b0381168114610835578182fd5b9392505050565b60006020828403121561084d578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b602081016003831061088157fe5b91905290565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b9081526020019056fea2646970667358221220de85d30714b6ff26479b2b7380794f9558de8935208fe987a8e942c67d0d78b064736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102275760003560e01c80637c9b8e8911610130578063c0ffa178116100b8578063dd58b41c1161007c578063dd58b41c14610381578063eab5d20e14610389578063ec2fd46d14610391578063f2fde38b14610399578063f67ed448146103ac57610227565b8063c0ffa17814610359578063c5bbffe814610361578063c6b73cf914610369578063d4b9704614610371578063d689107c1461037957610227565b8063a3161a56116100ff578063a3161a5614610331578063a598aca714610339578063ab44a7a314610341578063ac1fbc9814610349578063b2094fd31461035157610227565b80637c9b8e89146103115780638456db15146103195780638ff5e742146103215780639b020fba1461032957610227565b80634a248d2a116101b357806368be20ad1161018257806368be20ad146102c65780636ec6a58d146102e657806373a2ab7c146102ee578063796da7af146102f65780637aed942d146102fe57610227565b80634a248d2a146102a45780634de4527e146102ac5780634e71e0c8146102b457806354fd4d50146102be57610227565b806317be952e116101fa57806317be952e1461026f578063245c9685146102845780632aa82c651461028c5780633960f142146102945780634322ec831461029c57610227565b80630cd1667d1461022c5780630e6518e91461024a57806316048bc4146102525780631769ddaa14610267575b600080fd5b6102346103bf565b60405161024191906108f8565b60405180910390f35b610234610441565b61025a610447565b6040516102419190610854565b610234610456565b61027761045c565b6040516102419190610873565b610234610465565b61023461046b565b61025a6104b0565b61025a6104bf565b61025a6104ce565b6102346104dd565b6102bc6104e3565b005b61023461057a565b6102d96102d436600461080e565b61057f565b6040516102419190610868565b6102d9610594565b61025a6105a4565b6102346105b3565b61023461030c36600461080e565b6105f8565b61023461067f565b61025a610685565b6102d9610694565b6102346106a2565b6102d96106a8565b6102d96106b1565b6102346106c1565b61025a6106c7565b6102346106d6565b6102346106dc565b6102d96106e2565b6102346106f2565b61025a6106f8565b61025a610707565b6102d9610716565b610234610726565b61023461072c565b6102bc6103a736600461080e565b610732565b6102346103ba36600461080e565b6107dd565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043c919061083c565b905090565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561040457600080fd5b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90610887565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561040457600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610629908590600401610854565b60206040518083038186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610679919061083c565b92915050565b60125481565b6001546001600160a01b031681565b600354610100900460ff1681565b60045481565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b60115481565b600d5481565b6000546001600160a01b0316331461075c5760405162461bcd60e51b815260040161050d906108d5565b6001600160a01b0381166107825760405162461bcd60e51b815260040161050d906108ae565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610629908590600401610854565b60006020828403121561081f578081fd5b81356001600160a01b0381168114610835578182fd5b9392505050565b60006020828403121561084d578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b602081016003831061088157fe5b91905290565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b9081526020019056fea2646970667358221220de85d30714b6ff26479b2b7380794f9558de8935208fe987a8e942c67d0d78b064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "586:2936:27:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "586:2936:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2949:133;;;:::i;:::-;;;;;;;;;;;;;;;;2006:43;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;1604:31::-;;;:::i;:::-;;;;;;;;1688:42;;;:::i;3243:135::-;;;:::i;1202:27::-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;:::-;;3433:87:27;;;:::i;2055:41::-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;2796:147::-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;1036:29:27:-;;;:::i;1071:35::-;;;:::i;1002:28::-;;;:::i;839:34::-;;;:::i;1511:28::-;;;:::i;1849:36::-;;;:::i;1641:41::-;;;:::i;1545:28::-;;;:::i;798:35::-;;;:::i;1957:43::-;;;:::i;1385:28::-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;1736:29::-;;;:::i;1579:18::-;;;:::i;737:220:37:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;2949:133::-;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;:::o;2006:43::-;;;;:::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;1604:31::-;;;;;;:::o;1688:42::-;;;;:::o;3243:135::-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;1202:27;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;2055:41::-;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;2796:147;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2881:55;2796:147;-1:-1:-1;;2796:147:27:o;1771:30::-;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;1036:29:27:-;;;;;;;;;:::o;1071:35::-;;;;:::o;1002:28::-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;1511:28::-;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;1641:41::-;;;;:::o;1545:28::-;;;;:::o;798:35::-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;1385:28::-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;1736:29::-;;;;:::o;1579:18::-;;;;:::o;737:220:37:-;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;283:241:-1;;387:2;375:9;366:7;362:23;358:32;355:2;;;-1:-1;;393:12;355:2;72:20;;-1:-1;;;;;5026:54;;5480:35;;5470:2;;-1:-1;;5519:12;5470:2;445:63;349:175;-1:-1;;;349:175;531:263;;646:2;634:9;625:7;621:23;617:32;614:2;;;-1:-1;;652:12;614:2;-1:-1;220:13;;608:186;-1:-1;608:186;2268:222;-1:-1;;;;;5026:54;;;;872:37;;2395:2;2380:18;;2366:124;2497:210;4799:13;;4792:21;986:34;;2618:2;2603:18;;2589:118;2714:244;2852:2;2837:18;;5392:1;5382:12;;5372:2;;5398:9;5372:2;1114:61;;;2823:135;;2965:416;3165:2;3179:47;;;1412:2;3150:18;;;4567:19;-1:-1;;;4607:14;;;1428:36;1483:12;;;3136:245;3388:416;3588:2;3602:47;;;1734:2;3573:18;;;4567:19;-1:-1;;;4607:14;;;1750:36;1805:12;;;3559:245;3811:416;4011:2;4025:47;;;2056:1;3996:18;;;4567:19;-1:-1;;;4607:14;;;2071:32;2122:12;;;3982:245;4234:222;2219:37;;;4361:2;4346:18;;4332:124", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {InitializableOwnable} from \"../lib/InitializableOwnable.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {ReentrancyGuard} from \"../lib/ReentrancyGuard.sol\";\nimport {IOracle} from \"../intf/IOracle.sol\";\nimport {IDODOLpToken} from \"../intf/IDODOLpToken.sol\";\nimport {Types} from \"../lib/Types.sol\";\n\n\n/**\n * @title Storage\n * @author DODO Breeder\n *\n * @notice Local Variables\n */\ncontract Storage is InitializableOwnable, ReentrancyGuard {\n using SafeMath for uint256;\n\n // ============ Variables for Control ============\n\n bool internal _INITIALIZED_;\n bool public _CLOSED_;\n bool public _DEPOSIT_QUOTE_ALLOWED_;\n bool public _DEPOSIT_BASE_ALLOWED_;\n bool public _TRADE_ALLOWED_;\n uint256 public _GAS_PRICE_LIMIT_;\n\n // ============ Advanced Controls ============\n bool public _BUYING_ALLOWED_;\n bool public _SELLING_ALLOWED_;\n uint256 public _BASE_BALANCE_LIMIT_;\n uint256 public _QUOTE_BALANCE_LIMIT_;\n\n // ============ Core Address ============\n\n address public _SUPERVISOR_; // could freeze system in emergency\n address public _MAINTAINER_; // collect maintainer fee to buy food for DODO\n\n address public _BASE_TOKEN_;\n address public _QUOTE_TOKEN_;\n address public _ORACLE_;\n\n // ============ Variables for PMM Algorithm ============\n\n uint256 public _LP_FEE_RATE_;\n uint256 public _MT_FEE_RATE_;\n uint256 public _K_;\n\n Types.RStatus public _R_STATUS_;\n uint256 public _TARGET_BASE_TOKEN_AMOUNT_;\n uint256 public _TARGET_QUOTE_TOKEN_AMOUNT_;\n uint256 public _BASE_BALANCE_;\n uint256 public _QUOTE_BALANCE_;\n\n address public _BASE_CAPITAL_TOKEN_;\n address public _QUOTE_CAPITAL_TOKEN_;\n\n // ============ Variables for Final Settlement ============\n\n uint256 public _BASE_CAPITAL_RECEIVE_QUOTE_;\n uint256 public _QUOTE_CAPITAL_RECEIVE_BASE_;\n mapping(address => bool) public _CLAIMED_;\n\n // ============ Modifiers ============\n\n modifier onlySupervisorOrOwner() {\n require(msg.sender == _SUPERVISOR_ || msg.sender == _OWNER_, \"NOT_SUPERVISOR_OR_OWNER\");\n _;\n }\n\n modifier notClosed() {\n require(!_CLOSED_, \"DODO_CLOSED\");\n _;\n }\n\n // ============ Helper Functions ============\n\n function _checkDODOParameters() internal view returns (uint256) {\n require(_K_ < DecimalMath.ONE, \"K>=1\");\n require(_K_ > 0, \"K=0\");\n require(_LP_FEE_RATE_.add(_MT_FEE_RATE_) < DecimalMath.ONE, \"FEE_RATE>=1\");\n }\n\n function getOraclePrice() public view returns (uint256) {\n return IOracle(_ORACLE_).getPrice();\n }\n\n function getBaseCapitalBalanceOf(address lp) public view returns (uint256) {\n return IDODOLpToken(_BASE_CAPITAL_TOKEN_).balanceOf(lp);\n }\n\n function getTotalBaseCapital() public view returns (uint256) {\n return IDODOLpToken(_BASE_CAPITAL_TOKEN_).totalSupply();\n }\n\n function getQuoteCapitalBalanceOf(address lp) public view returns (uint256) {\n return IDODOLpToken(_QUOTE_CAPITAL_TOKEN_).balanceOf(lp);\n }\n\n function getTotalQuoteCapital() public view returns (uint256) {\n return IDODOLpToken(_QUOTE_CAPITAL_TOKEN_).totalSupply();\n }\n\n // ============ Version Control ============\n function version() external pure returns (uint256) {\n return 101; // 1.0.1\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "exportedSymbols": { - "Storage": [ - 9613 - ] - }, - "id": 9614, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9398, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:27" - }, - { - "id": 9399, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:27" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", - "file": "../lib/InitializableOwnable.sol", - "id": 9401, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11167, - "src": "136:69:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9400, - "name": "InitializableOwnable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:20:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 9403, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11624, - "src": "206:45:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9402, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "214:8:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 9405, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11079, - "src": "252:51:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9404, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "260:11:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "file": "../lib/ReentrancyGuard.sol", - "id": 9407, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11297, - "src": "304:59:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9406, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "312:15:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol", - "file": "../intf/IOracle.sol", - "id": 9409, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 10617, - "src": "364:44:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9408, - "name": "IOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "372:7:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "file": "../intf/IDODOLpToken.sol", - "id": 9411, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 10537, - "src": "409:54:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9410, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "417:12:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 9413, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11632, - "src": "464:39:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9412, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "472:5:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9415, - "name": "InitializableOwnable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11166, - "src": "606:20:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_InitializableOwnable_$11166", - "typeString": "contract InitializableOwnable" - } - }, - "id": 9416, - "nodeType": "InheritanceSpecifier", - "src": "606:20:27" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9417, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11296, - "src": "628:15:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$11296", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 9418, - "nodeType": "InheritanceSpecifier", - "src": "628:15:27" - } - ], - "contractDependencies": [ - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 9414, - "nodeType": "StructuredDocumentation", - "src": "506:79:27", - "text": " @title Storage\n @author DODO Breeder\n @notice Local Variables" - }, - "fullyImplemented": true, - "id": 9613, - "linearizedBaseContracts": [ - 9613, - 11296, - 11166 - ], - "name": "Storage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 9421, - "libraryName": { - "contractScope": null, - "id": 9419, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "656:8:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "650:27:27", - "typeName": { - "id": 9420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "669:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 9423, - "mutability": "mutable", - "name": "_INITIALIZED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "739:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9422, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "739:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "6ec6a58d", - "id": 9425, - "mutability": "mutable", - "name": "_CLOSED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "772:20:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9424, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "772:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c5bbffe8", - "id": 9427, - "mutability": "mutable", - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "798:35:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9426, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "798:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a598aca7", - "id": 9429, - "mutability": "mutable", - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "839:34:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9428, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "839:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd58b41c", - "id": 9431, - "mutability": "mutable", - "name": "_TRADE_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "879:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9430, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "879:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4de4527e", - "id": 9433, - "mutability": "mutable", - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "912:32:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "912:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3161a56", - "id": 9435, - "mutability": "mutable", - "name": "_BUYING_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1002:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9434, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1002:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8ff5e742", - "id": 9437, - "mutability": "mutable", - "name": "_SELLING_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1036:29:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9436, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1036:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9b020fba", - "id": 9439, - "mutability": "mutable", - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1071:35:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1071:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1769ddaa", - "id": 9441, - "mutability": "mutable", - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1112:36:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9440, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1112:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3960f142", - "id": 9443, - "mutability": "mutable", - "name": "_SUPERVISOR_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1202:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1202:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4322ec83", - "id": 9445, - "mutability": "mutable", - "name": "_MAINTAINER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1271:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1271:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4a248d2a", - "id": 9447, - "mutability": "mutable", - "name": "_BASE_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1352:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1352:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d4b97046", - "id": 9449, - "mutability": "mutable", - "name": "_QUOTE_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1385:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1385:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "73a2ab7c", - "id": 9451, - "mutability": "mutable", - "name": "_ORACLE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1419:23:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9450, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1419:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ab44a7a3", - "id": 9453, - "mutability": "mutable", - "name": "_LP_FEE_RATE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1511:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c0ffa178", - "id": 9455, - "mutability": "mutable", - "name": "_MT_FEE_RATE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1545:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1545:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ec2fd46d", - "id": 9457, - "mutability": "mutable", - "name": "_K_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1579:18:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1579:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "17be952e", - "id": 9459, - "mutability": "mutable", - "name": "_R_STATUS_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1604:31:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 9458, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "1604:13:27", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b2094fd3", - "id": 9461, - "mutability": "mutable", - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1641:41:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1641:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "245c9685", - "id": 9463, - "mutability": "mutable", - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1688:42:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1688:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eab5d20e", - "id": 9465, - "mutability": "mutable", - "name": "_BASE_BALANCE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1736:29:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1736:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7c9b8e89", - "id": 9467, - "mutability": "mutable", - "name": "_QUOTE_BALANCE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1771:30:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1771:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d689107c", - "id": 9469, - "mutability": "mutable", - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1808:35:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9468, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1808:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ac1fbc98", - "id": 9471, - "mutability": "mutable", - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1849:36:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c6b73cf9", - "id": 9473, - "mutability": "mutable", - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1957:43:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1957:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0e6518e9", - "id": 9475, - "mutability": "mutable", - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "2006:43:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2006:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "68be20ad", - "id": 9479, - "mutability": "mutable", - "name": "_CLAIMED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "2055:41:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 9478, - "keyType": { - "id": 9476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2063:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2055:24:27", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 9477, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2074:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 9495, - "nodeType": "Block", - "src": "2180:115:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9482, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2198:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2198:10:27", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9484, - "name": "_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2212:12:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2198:26:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9486, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2228:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2228:10:27", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9488, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "2242:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2228:21:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2198:51:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f53555045525649534f525f4f525f4f574e4552", - "id": 9491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2251:25:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_716afe251bc9bae4f6e9638d04b57f9f66445d4c3374ff04a93247ab41abac9a", - "typeString": "literal_string \"NOT_SUPERVISOR_OR_OWNER\"" - }, - "value": "NOT_SUPERVISOR_OR_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_716afe251bc9bae4f6e9638d04b57f9f66445d4c3374ff04a93247ab41abac9a", - "typeString": "literal_string \"NOT_SUPERVISOR_OR_OWNER\"" - } - ], - "id": 9481, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2190:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2190:87:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9493, - "nodeType": "ExpressionStatement", - "src": "2190:87:27" - }, - { - "id": 9494, - "nodeType": "PlaceholderStatement", - "src": "2287:1:27" - } - ] - }, - "documentation": null, - "id": 9496, - "name": "onlySupervisorOrOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9480, - "nodeType": "ParameterList", - "parameters": [], - "src": "2177:2:27" - }, - "src": "2147:148:27", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9505, - "nodeType": "Block", - "src": "2322:61:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2340:9:27", - "subExpression": { - "argumentTypes": null, - "id": 9499, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "2341:8:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f434c4f534544", - "id": 9501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2351:13:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - }, - "value": "DODO_CLOSED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - } - ], - "id": 9498, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2332:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2332:33:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9503, - "nodeType": "ExpressionStatement", - "src": "2332:33:27" - }, - { - "id": 9504, - "nodeType": "PlaceholderStatement", - "src": "2375:1:27" - } - ] - }, - "documentation": null, - "id": 9506, - "name": "notClosed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9497, - "nodeType": "ParameterList", - "parameters": [], - "src": "2319:2:27" - }, - "src": "2301:82:27", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9537, - "nodeType": "Block", - "src": "2504:172:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9512, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2522:3:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9513, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2528:11:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2528:15:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2522:21:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b3e3d31", - "id": 9516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2545:6:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f32497f7bac148ff47bc1203ad47fe8a0ef22a3fa4552d202153e69a26fe1aad", - "typeString": "literal_string \"K>=1\"" - }, - "value": "K>=1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f32497f7bac148ff47bc1203ad47fe8a0ef22a3fa4552d202153e69a26fe1aad", - "typeString": "literal_string \"K>=1\"" - } - ], - "id": 9511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2514:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2514:38:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9518, - "nodeType": "ExpressionStatement", - "src": "2514:38:27" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9520, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2570:3:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2576:1:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2570:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b3d30", - "id": 9523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2579:5:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_073372277ec99e9e4cf2a06fd1edb82dafb2feb9157ad05dc9a6b226f860caa8", - "typeString": "literal_string \"K=0\"" - }, - "value": "K=0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_073372277ec99e9e4cf2a06fd1edb82dafb2feb9157ad05dc9a6b226f860caa8", - "typeString": "literal_string \"K=0\"" - } - ], - "id": 9519, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2562:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2562:23:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9525, - "nodeType": "ExpressionStatement", - "src": "2562:23:27" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9529, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "2621:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9527, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "2603:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2603:17:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2603:32:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9531, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2638:11:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2638:15:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2603:50:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4645455f524154453e3d31", - "id": 9534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2655:13:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1e25429552344d4cbd26a7a72c34d9ad4ef4370ab35aa3b8f141898b46156fb", - "typeString": "literal_string \"FEE_RATE>=1\"" - }, - "value": "FEE_RATE>=1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c1e25429552344d4cbd26a7a72c34d9ad4ef4370ab35aa3b8f141898b46156fb", - "typeString": "literal_string \"FEE_RATE>=1\"" - } - ], - "id": 9526, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2595:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2595:74:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9536, - "nodeType": "ExpressionStatement", - "src": "2595:74:27" - } - ] - }, - "documentation": null, - "id": 9538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkDODOParameters", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9507, - "nodeType": "ParameterList", - "parameters": [], - "src": "2469:2:27" - }, - "returnParameters": { - "id": 9510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9509, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9538, - "src": "2495:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2495:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:9:27" - }, - "scope": 9613, - "src": "2440:236:27", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9549, - "nodeType": "Block", - "src": "2738:52:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9544, - "name": "_ORACLE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9451, - "src": "2763:8:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9543, - "name": "IOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10616, - "src": "2755:7:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOracle_$10616_$", - "typeString": "type(contract IOracle)" - } - }, - "id": 9545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2755:17:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IOracle_$10616", - "typeString": "contract IOracle" - } - }, - "id": 9546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 10615, - "src": "2755:26:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2755:28:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9542, - "id": 9548, - "nodeType": "Return", - "src": "2748:35:27" - } - ] - }, - "documentation": null, - "functionSelector": "796da7af", - "id": 9550, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOraclePrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9539, - "nodeType": "ParameterList", - "parameters": [], - "src": "2705:2:27" - }, - "returnParameters": { - "id": 9542, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9541, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9550, - "src": "2729:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2729:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2728:9:27" - }, - "scope": 9613, - "src": "2682:108:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9564, - "nodeType": "Block", - "src": "2871:72:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9561, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9552, - "src": "2933:2:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9558, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "2901:20:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9557, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "2888:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2888:34:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10530, - "src": "2888:44:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2888:48:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9556, - "id": 9563, - "nodeType": "Return", - "src": "2881:55:27" - } - ] - }, - "documentation": null, - "functionSelector": "7aed942d", - "id": 9565, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBaseCapitalBalanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9552, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9565, - "src": "2829:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2829:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2828:12:27" - }, - "returnParameters": { - "id": 9556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9555, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9565, - "src": "2862:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:27" - }, - "scope": 9613, - "src": "2796:147:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9576, - "nodeType": "Block", - "src": "3010:72:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9571, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "3040:20:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9570, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3027:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3027:34:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10535, - "src": "3027:46:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3027:48:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9569, - "id": 9575, - "nodeType": "Return", - "src": "3020:55:27" - } - ] - }, - "documentation": null, - "functionSelector": "0cd1667d", - "id": 9577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalBaseCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9566, - "nodeType": "ParameterList", - "parameters": [], - "src": "2977:2:27" - }, - "returnParameters": { - "id": 9569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9568, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "3001:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9567, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3001:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3000:9:27" - }, - "scope": 9613, - "src": "2949:133:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9591, - "nodeType": "Block", - "src": "3164:73:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9588, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "3227:2:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9585, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "3194:21:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9584, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3181:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:35:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10530, - "src": "3181:45:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:49:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9583, - "id": 9590, - "nodeType": "Return", - "src": "3174:56:27" - } - ] - }, - "documentation": null, - "functionSelector": "f67ed448", - "id": 9592, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getQuoteCapitalBalanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9579, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9592, - "src": "3122:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3122:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3121:12:27" - }, - "returnParameters": { - "id": 9583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9582, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9592, - "src": "3155:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3154:9:27" - }, - "scope": 9613, - "src": "3088:149:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9603, - "nodeType": "Block", - "src": "3305:73:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9598, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "3335:21:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9597, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3322:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3322:35:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10535, - "src": "3322:47:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3322:49:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9596, - "id": 9602, - "nodeType": "Return", - "src": "3315:56:27" - } - ] - }, - "documentation": null, - "functionSelector": "2aa82c65", - "id": 9604, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalQuoteCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9593, - "nodeType": "ParameterList", - "parameters": [], - "src": "3272:2:27" - }, - "returnParameters": { - "id": 9596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9595, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "3296:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3296:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:9:27" - }, - "scope": 9613, - "src": "3243:135:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9611, - "nodeType": "Block", - "src": "3484:36:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "313031", - "id": 9609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3501:3:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101_by_1", - "typeString": "int_const 101" - }, - "value": "101" - }, - "functionReturnParameters": 9608, - "id": 9610, - "nodeType": "Return", - "src": "3494:10:27" - } - ] - }, - "documentation": null, - "functionSelector": "54fd4d50", - "id": 9612, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "version", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9605, - "nodeType": "ParameterList", - "parameters": [], - "src": "3449:2:27" - }, - "returnParameters": { - "id": 9608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9607, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9612, - "src": "3475:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3475:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3474:9:27" - }, - "scope": 9613, - "src": "3433:87:27", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9614, - "src": "586:2936:27" - } - ], - "src": "78:3445:27" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "exportedSymbols": { - "Storage": [ - 9613 - ] - }, - "id": 9614, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9398, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:27" - }, - { - "id": 9399, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:27" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", - "file": "../lib/InitializableOwnable.sol", - "id": 9401, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11167, - "src": "136:69:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9400, - "name": "InitializableOwnable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:20:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 9403, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11624, - "src": "206:45:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9402, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "214:8:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 9405, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11079, - "src": "252:51:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9404, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "260:11:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol", - "file": "../lib/ReentrancyGuard.sol", - "id": 9407, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11297, - "src": "304:59:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9406, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "312:15:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol", - "file": "../intf/IOracle.sol", - "id": 9409, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 10617, - "src": "364:44:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9408, - "name": "IOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "372:7:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol", - "file": "../intf/IDODOLpToken.sol", - "id": 9411, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 10537, - "src": "409:54:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9410, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "417:12:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 9413, - "nodeType": "ImportDirective", - "scope": 9614, - "sourceUnit": 11632, - "src": "464:39:27", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9412, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "472:5:27", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9415, - "name": "InitializableOwnable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11166, - "src": "606:20:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_InitializableOwnable_$11166", - "typeString": "contract InitializableOwnable" - } - }, - "id": 9416, - "nodeType": "InheritanceSpecifier", - "src": "606:20:27" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9417, - "name": "ReentrancyGuard", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11296, - "src": "628:15:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$11296", - "typeString": "contract ReentrancyGuard" - } - }, - "id": 9418, - "nodeType": "InheritanceSpecifier", - "src": "628:15:27" - } - ], - "contractDependencies": [ - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 9414, - "nodeType": "StructuredDocumentation", - "src": "506:79:27", - "text": " @title Storage\n @author DODO Breeder\n @notice Local Variables" - }, - "fullyImplemented": true, - "id": 9613, - "linearizedBaseContracts": [ - 9613, - 11296, - 11166 - ], - "name": "Storage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 9421, - "libraryName": { - "contractScope": null, - "id": 9419, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "656:8:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "650:27:27", - "typeName": { - "id": 9420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "669:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 9423, - "mutability": "mutable", - "name": "_INITIALIZED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "739:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9422, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "739:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "6ec6a58d", - "id": 9425, - "mutability": "mutable", - "name": "_CLOSED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "772:20:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9424, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "772:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c5bbffe8", - "id": 9427, - "mutability": "mutable", - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "798:35:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9426, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "798:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a598aca7", - "id": 9429, - "mutability": "mutable", - "name": "_DEPOSIT_BASE_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "839:34:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9428, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "839:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd58b41c", - "id": 9431, - "mutability": "mutable", - "name": "_TRADE_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "879:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9430, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "879:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4de4527e", - "id": 9433, - "mutability": "mutable", - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "912:32:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "912:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3161a56", - "id": 9435, - "mutability": "mutable", - "name": "_BUYING_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1002:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9434, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1002:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8ff5e742", - "id": 9437, - "mutability": "mutable", - "name": "_SELLING_ALLOWED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1036:29:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9436, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1036:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9b020fba", - "id": 9439, - "mutability": "mutable", - "name": "_BASE_BALANCE_LIMIT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1071:35:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1071:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1769ddaa", - "id": 9441, - "mutability": "mutable", - "name": "_QUOTE_BALANCE_LIMIT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1112:36:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9440, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1112:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3960f142", - "id": 9443, - "mutability": "mutable", - "name": "_SUPERVISOR_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1202:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1202:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4322ec83", - "id": 9445, - "mutability": "mutable", - "name": "_MAINTAINER_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1271:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1271:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4a248d2a", - "id": 9447, - "mutability": "mutable", - "name": "_BASE_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1352:27:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1352:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d4b97046", - "id": 9449, - "mutability": "mutable", - "name": "_QUOTE_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1385:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1385:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "73a2ab7c", - "id": 9451, - "mutability": "mutable", - "name": "_ORACLE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1419:23:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9450, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1419:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ab44a7a3", - "id": 9453, - "mutability": "mutable", - "name": "_LP_FEE_RATE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1511:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c0ffa178", - "id": 9455, - "mutability": "mutable", - "name": "_MT_FEE_RATE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1545:28:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1545:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ec2fd46d", - "id": 9457, - "mutability": "mutable", - "name": "_K_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1579:18:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1579:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "17be952e", - "id": 9459, - "mutability": "mutable", - "name": "_R_STATUS_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1604:31:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 9458, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "1604:13:27", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b2094fd3", - "id": 9461, - "mutability": "mutable", - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1641:41:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1641:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "245c9685", - "id": 9463, - "mutability": "mutable", - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1688:42:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1688:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eab5d20e", - "id": 9465, - "mutability": "mutable", - "name": "_BASE_BALANCE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1736:29:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1736:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7c9b8e89", - "id": 9467, - "mutability": "mutable", - "name": "_QUOTE_BALANCE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1771:30:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1771:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d689107c", - "id": 9469, - "mutability": "mutable", - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1808:35:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9468, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1808:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ac1fbc98", - "id": 9471, - "mutability": "mutable", - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1849:36:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c6b73cf9", - "id": 9473, - "mutability": "mutable", - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "1957:43:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1957:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0e6518e9", - "id": 9475, - "mutability": "mutable", - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "2006:43:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2006:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "68be20ad", - "id": 9479, - "mutability": "mutable", - "name": "_CLAIMED_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9613, - "src": "2055:41:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 9478, - "keyType": { - "id": 9476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2063:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2055:24:27", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 9477, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2074:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 9495, - "nodeType": "Block", - "src": "2180:115:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9482, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2198:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2198:10:27", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9484, - "name": "_SUPERVISOR_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2212:12:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2198:26:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9486, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2228:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2228:10:27", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9488, - "name": "_OWNER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11084, - "src": "2242:7:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2228:21:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2198:51:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f53555045525649534f525f4f525f4f574e4552", - "id": 9491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2251:25:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_716afe251bc9bae4f6e9638d04b57f9f66445d4c3374ff04a93247ab41abac9a", - "typeString": "literal_string \"NOT_SUPERVISOR_OR_OWNER\"" - }, - "value": "NOT_SUPERVISOR_OR_OWNER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_716afe251bc9bae4f6e9638d04b57f9f66445d4c3374ff04a93247ab41abac9a", - "typeString": "literal_string \"NOT_SUPERVISOR_OR_OWNER\"" - } - ], - "id": 9481, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2190:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2190:87:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9493, - "nodeType": "ExpressionStatement", - "src": "2190:87:27" - }, - { - "id": 9494, - "nodeType": "PlaceholderStatement", - "src": "2287:1:27" - } - ] - }, - "documentation": null, - "id": 9496, - "name": "onlySupervisorOrOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9480, - "nodeType": "ParameterList", - "parameters": [], - "src": "2177:2:27" - }, - "src": "2147:148:27", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9505, - "nodeType": "Block", - "src": "2322:61:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2340:9:27", - "subExpression": { - "argumentTypes": null, - "id": 9499, - "name": "_CLOSED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "2341:8:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f434c4f534544", - "id": 9501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2351:13:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - }, - "value": "DODO_CLOSED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b376000e0a4ab5aa456645b38033c091a45a656f290df894531d9e6e6accb956", - "typeString": "literal_string \"DODO_CLOSED\"" - } - ], - "id": 9498, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2332:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2332:33:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9503, - "nodeType": "ExpressionStatement", - "src": "2332:33:27" - }, - { - "id": 9504, - "nodeType": "PlaceholderStatement", - "src": "2375:1:27" - } - ] - }, - "documentation": null, - "id": 9506, - "name": "notClosed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9497, - "nodeType": "ParameterList", - "parameters": [], - "src": "2319:2:27" - }, - "src": "2301:82:27", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9537, - "nodeType": "Block", - "src": "2504:172:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9512, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2522:3:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9513, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2528:11:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2528:15:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2522:21:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b3e3d31", - "id": 9516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2545:6:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f32497f7bac148ff47bc1203ad47fe8a0ef22a3fa4552d202153e69a26fe1aad", - "typeString": "literal_string \"K>=1\"" - }, - "value": "K>=1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f32497f7bac148ff47bc1203ad47fe8a0ef22a3fa4552d202153e69a26fe1aad", - "typeString": "literal_string \"K>=1\"" - } - ], - "id": 9511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2514:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2514:38:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9518, - "nodeType": "ExpressionStatement", - "src": "2514:38:27" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9520, - "name": "_K_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9457, - "src": "2570:3:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2576:1:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2570:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b3d30", - "id": 9523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2579:5:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_073372277ec99e9e4cf2a06fd1edb82dafb2feb9157ad05dc9a6b226f860caa8", - "typeString": "literal_string \"K=0\"" - }, - "value": "K=0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_073372277ec99e9e4cf2a06fd1edb82dafb2feb9157ad05dc9a6b226f860caa8", - "typeString": "literal_string \"K=0\"" - } - ], - "id": 9519, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2562:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2562:23:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9525, - "nodeType": "ExpressionStatement", - "src": "2562:23:27" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9529, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "2621:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9527, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "2603:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2603:17:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2603:32:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9531, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "2638:11:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 9532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": 11006, - "src": "2638:15:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2603:50:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4645455f524154453e3d31", - "id": 9534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2655:13:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1e25429552344d4cbd26a7a72c34d9ad4ef4370ab35aa3b8f141898b46156fb", - "typeString": "literal_string \"FEE_RATE>=1\"" - }, - "value": "FEE_RATE>=1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c1e25429552344d4cbd26a7a72c34d9ad4ef4370ab35aa3b8f141898b46156fb", - "typeString": "literal_string \"FEE_RATE>=1\"" - } - ], - "id": 9526, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2595:7:27", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2595:74:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9536, - "nodeType": "ExpressionStatement", - "src": "2595:74:27" - } - ] - }, - "documentation": null, - "id": 9538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkDODOParameters", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9507, - "nodeType": "ParameterList", - "parameters": [], - "src": "2469:2:27" - }, - "returnParameters": { - "id": 9510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9509, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9538, - "src": "2495:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2495:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:9:27" - }, - "scope": 9613, - "src": "2440:236:27", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9549, - "nodeType": "Block", - "src": "2738:52:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9544, - "name": "_ORACLE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9451, - "src": "2763:8:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9543, - "name": "IOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10616, - "src": "2755:7:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOracle_$10616_$", - "typeString": "type(contract IOracle)" - } - }, - "id": 9545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2755:17:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IOracle_$10616", - "typeString": "contract IOracle" - } - }, - "id": 9546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 10615, - "src": "2755:26:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2755:28:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9542, - "id": 9548, - "nodeType": "Return", - "src": "2748:35:27" - } - ] - }, - "documentation": null, - "functionSelector": "796da7af", - "id": 9550, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOraclePrice", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9539, - "nodeType": "ParameterList", - "parameters": [], - "src": "2705:2:27" - }, - "returnParameters": { - "id": 9542, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9541, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9550, - "src": "2729:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2729:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2728:9:27" - }, - "scope": 9613, - "src": "2682:108:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9564, - "nodeType": "Block", - "src": "2871:72:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9561, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9552, - "src": "2933:2:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9558, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "2901:20:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9557, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "2888:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2888:34:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10530, - "src": "2888:44:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2888:48:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9556, - "id": 9563, - "nodeType": "Return", - "src": "2881:55:27" - } - ] - }, - "documentation": null, - "functionSelector": "7aed942d", - "id": 9565, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBaseCapitalBalanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9552, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9565, - "src": "2829:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2829:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2828:12:27" - }, - "returnParameters": { - "id": 9556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9555, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9565, - "src": "2862:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2862:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:9:27" - }, - "scope": 9613, - "src": "2796:147:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9576, - "nodeType": "Block", - "src": "3010:72:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9571, - "name": "_BASE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9469, - "src": "3040:20:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9570, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3027:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3027:34:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10535, - "src": "3027:46:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3027:48:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9569, - "id": 9575, - "nodeType": "Return", - "src": "3020:55:27" - } - ] - }, - "documentation": null, - "functionSelector": "0cd1667d", - "id": 9577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalBaseCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9566, - "nodeType": "ParameterList", - "parameters": [], - "src": "2977:2:27" - }, - "returnParameters": { - "id": 9569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9568, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "3001:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9567, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3001:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3000:9:27" - }, - "scope": 9613, - "src": "2949:133:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9591, - "nodeType": "Block", - "src": "3164:73:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9588, - "name": "lp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "3227:2:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9585, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "3194:21:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9584, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3181:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:35:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10530, - "src": "3181:45:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 9589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:49:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9583, - "id": 9590, - "nodeType": "Return", - "src": "3174:56:27" - } - ] - }, - "documentation": null, - "functionSelector": "f67ed448", - "id": 9592, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getQuoteCapitalBalanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9579, - "mutability": "mutable", - "name": "lp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9592, - "src": "3122:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3122:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3121:12:27" - }, - "returnParameters": { - "id": 9583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9582, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9592, - "src": "3155:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3154:9:27" - }, - "scope": 9613, - "src": "3088:149:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9603, - "nodeType": "Block", - "src": "3305:73:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9598, - "name": "_QUOTE_CAPITAL_TOKEN_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9471, - "src": "3335:21:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9597, - "name": "IDODOLpToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3322:12:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOLpToken_$10536_$", - "typeString": "type(contract IDODOLpToken)" - } - }, - "id": 9599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3322:35:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOLpToken_$10536", - "typeString": "contract IDODOLpToken" - } - }, - "id": 9600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 10535, - "src": "3322:47:27", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 9601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3322:49:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9596, - "id": 9602, - "nodeType": "Return", - "src": "3315:56:27" - } - ] - }, - "documentation": null, - "functionSelector": "2aa82c65", - "id": 9604, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalQuoteCapital", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9593, - "nodeType": "ParameterList", - "parameters": [], - "src": "3272:2:27" - }, - "returnParameters": { - "id": 9596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9595, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "3296:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3296:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:9:27" - }, - "scope": 9613, - "src": "3243:135:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 9611, - "nodeType": "Block", - "src": "3484:36:27", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "313031", - "id": 9609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3501:3:27", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_101_by_1", - "typeString": "int_const 101" - }, - "value": "101" - }, - "functionReturnParameters": 9608, - "id": 9610, - "nodeType": "Return", - "src": "3494:10:27" - } - ] - }, - "documentation": null, - "functionSelector": "54fd4d50", - "id": 9612, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "version", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9605, - "nodeType": "ParameterList", - "parameters": [], - "src": "3449:2:27" - }, - "returnParameters": { - "id": 9608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9607, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9612, - "src": "3475:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3475:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3474:9:27" - }, - "scope": 9613, - "src": "3433:87:27", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9614, - "src": "586:2936:27" - } - ], - "src": "78:3445:27" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.702Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Storage" - }, - "userdoc": { - "methods": {}, - "notice": "Local Variables" - } -} \ No newline at end of file diff --git a/build-v1/contracts/TestERC20.json b/build-v1/contracts/TestERC20.json deleted file mode 100644 index 70ba4b4..0000000 --- a/build-v1/contracts/TestERC20.json +++ /dev/null @@ -1,7880 +0,0 @@ -{ - "contractName": "TestERC20", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "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": "amount", - "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": "amount", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "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": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "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": "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" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"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\":\"amount\",\"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\":\"amount\",\"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\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestERC20.sol\":\"TestERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestERC20.sol\":{\"keccak256\":\"0xc13acbc1f6185f191e7f9a3fee3900dfa87638c6cdfcbfa6c2bf0bf1a8721833\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://31f92675293b1eb0573e6be4b66d1ae6de482d90b2d0ac29b405159f555ef804\",\"dweb:/ipfs/QmaE3D4EktRykz6TPBFayxaSXTa1LuQRNWKRmHR2hbzWuS\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50604051610a03380380610a038339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060405260209081015184519093506100fb9250600091850190610116565b506001805460ff191660ff92909216919091179055506101b1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061015757805160ff1916838001178555610184565b82800160010185558215610184579182015b82811115610184578251825591602001919060010190610169565b50610190929150610194565b5090565b6101ae91905b80821115610190576000815560010161019a565b90565b610843806101c06000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806340c10f191161005b57806340c10f191461019e57806370a08231146101cc578063a9059cbb14610204578063dd62ed3e1461023057610088565b806306fdde031461008d578063095ea7b31461010a57806323b872dd1461014a578063313ce56714610180575b600080fd5b61009561025e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100cf5781810151838201526020016100b7565b50505050905090810190601f1680156100fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101366004803603604081101561012057600080fd5b506001600160a01b0381351690602001356102ec565b604080519115158252519081900360200190f35b6101366004803603606081101561016057600080fd5b506001600160a01b03813581169160208101359091169060400135610352565b610188610583565b6040805160ff9092168252519081900360200190f35b6101ca600480360360408110156101b457600080fd5b506001600160a01b03813516906020013561058c565b005b6101f2600480360360208110156101e257600080fd5b50356001600160a01b03166105d5565b60408051918252519081900360200190f35b6101366004803603604081101561021a57600080fd5b506001600160a01b0381351690602001356105f0565b6101f26004803603604081101561024657600080fd5b506001600160a01b038135811691602001351661074c565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102e45780601f106102b9576101008083540402835291602001916102e4565b820191906000526020600020905b8154815290600101906020018083116102c757829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60006001600160a01b0383166103a5576040805162461bcd60e51b8152602060048201526013602482015272544f5f414444524553535f49535f454d50545960681b604482015290519081900360640190fd5b6001600160a01b038416600090815260026020526040902054821115610407576040805162461bcd60e51b81526020600482015260126024820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902054821115610476576040805162461bcd60e51b815260206004820152601460248201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604482015290519081900360640190fd5b6001600160a01b03841660009081526002602052604090205461049f908363ffffffff61077716565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546104d4908363ffffffff6107c016565b6001600160a01b038085166000908152600260209081526040808320949094559187168152600382528281203382529091522054610518908363ffffffff61077716565b6001600160a01b03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60015460ff1681565b6001600160a01b0382166000908152600260205260409020546105b5908263ffffffff6107c016565b6001600160a01b0390921660009081526002602052604090209190915550565b6001600160a01b031660009081526002602052604090205490565b60006001600160a01b038316610643576040805162461bcd60e51b8152602060048201526013602482015272544f5f414444524553535f49535f454d50545960681b604482015290519081900360640190fd5b3360009081526002602052604090205482111561069c576040805162461bcd60e51b81526020600482015260126024820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604482015290519081900360640190fd5b336000908152600260205260409020546106bc908363ffffffff61077716565b33600090815260026020526040808220929092556001600160a01b038516815220546106ee908363ffffffff6107c016565b6001600160a01b0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000828211156107ba576040805162461bcd60e51b815260206004820152600960248201526829aaa12fa2a92927a960b91b604482015290519081900360640190fd5b50900390565b600082820183811015610806576040805162461bcd60e51b815260206004820152600960248201526820a2222fa2a92927a960b91b604482015290519081900360640190fd5b939250505056fea26469706673582212209b4001f11f1ed42060bced92266b334f9bbd1d4e12dd53256158cb612df765f164736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806340c10f191161005b57806340c10f191461019e57806370a08231146101cc578063a9059cbb14610204578063dd62ed3e1461023057610088565b806306fdde031461008d578063095ea7b31461010a57806323b872dd1461014a578063313ce56714610180575b600080fd5b61009561025e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100cf5781810151838201526020016100b7565b50505050905090810190601f1680156100fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101366004803603604081101561012057600080fd5b506001600160a01b0381351690602001356102ec565b604080519115158252519081900360200190f35b6101366004803603606081101561016057600080fd5b506001600160a01b03813581169160208101359091169060400135610352565b610188610583565b6040805160ff9092168252519081900360200190f35b6101ca600480360360408110156101b457600080fd5b506001600160a01b03813516906020013561058c565b005b6101f2600480360360208110156101e257600080fd5b50356001600160a01b03166105d5565b60408051918252519081900360200190f35b6101366004803603604081101561021a57600080fd5b506001600160a01b0381351690602001356105f0565b6101f26004803603604081101561024657600080fd5b506001600160a01b038135811691602001351661074c565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102e45780601f106102b9576101008083540402835291602001916102e4565b820191906000526020600020905b8154815290600101906020018083116102c757829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60006001600160a01b0383166103a5576040805162461bcd60e51b8152602060048201526013602482015272544f5f414444524553535f49535f454d50545960681b604482015290519081900360640190fd5b6001600160a01b038416600090815260026020526040902054821115610407576040805162461bcd60e51b81526020600482015260126024820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902054821115610476576040805162461bcd60e51b815260206004820152601460248201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604482015290519081900360640190fd5b6001600160a01b03841660009081526002602052604090205461049f908363ffffffff61077716565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546104d4908363ffffffff6107c016565b6001600160a01b038085166000908152600260209081526040808320949094559187168152600382528281203382529091522054610518908363ffffffff61077716565b6001600160a01b03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60015460ff1681565b6001600160a01b0382166000908152600260205260409020546105b5908263ffffffff6107c016565b6001600160a01b0390921660009081526002602052604090209190915550565b6001600160a01b031660009081526002602052604090205490565b60006001600160a01b038316610643576040805162461bcd60e51b8152602060048201526013602482015272544f5f414444524553535f49535f454d50545960681b604482015290519081900360640190fd5b3360009081526002602052604090205482111561069c576040805162461bcd60e51b81526020600482015260126024820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604482015290519081900360640190fd5b336000908152600260205260409020546106bc908363ffffffff61077716565b33600090815260026020526040808220929092556001600160a01b038516815220546106ee908363ffffffff6107c016565b6001600160a01b0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000828211156107ba576040805162461bcd60e51b815260206004820152600960248201526829aaa12fa2a92927a960b91b604482015290519081900360640190fd5b50900390565b600082820183811015610806576040805162461bcd60e51b815260206004820152600960248201526820a2222fa2a92927a960b91b604482015290519081900360640190fd5b939250505056fea26469706673582212209b4001f11f1ed42060bced92266b334f9bbd1d4e12dd53256158cb612df765f164736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "149:2051:18:-:0;;;535:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;535:116:18;;;;;;;;;;-1:-1:-1;535:116:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;535:116:18;;;;;;;602:12;;535:116;;-1:-1:-1;602:12:18;;-1:-1:-1;602:4:18;;:12;;;;:::i;:::-;-1:-1:-1;624:8:18;:20;;-1:-1:-1;;624:20:18;;;;;;;;;;;;-1:-1:-1;149:2051:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;149:2051:18;;;-1:-1:-1;149:2051:18;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "149:2051:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;207:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1737:199;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1737:199:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1167:564;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1167:564:18;;;;;;;;;;;;;;;;;:::i;231:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2076:122;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2076:122:18;;;;;;;;:::i;:::-;;1050:111;;;;;;;;;;;;;;;;-1:-1:-1;1050:111:18;-1:-1:-1;;;;;1050:111:18;;:::i;:::-;;;;;;;;;;;;;;;;657:387;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;657:387:18;;;;;;;;:::i;1942:128::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1942:128:18;;;;;;;;;;:::i;207:18::-;;;;;;;;;;;;;;;-1:-1:-1;;207:18:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1737:199::-;1827:10;1803:4;1819:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;1819:28:18;;;;;;;;;;;:37;;;1871;;;;;;;1803:4;;1819:28;;1827:10;;1871:37;;;;;;;;-1:-1:-1;1925:4:18;1737:199;;;;:::o;1167:564::-;1277:4;-1:-1:-1;;;;;1301:16:18;;1293:48;;;;;-1:-1:-1;;;1293:48:18;;;;;;;;;;;;-1:-1:-1;;;1293:48:18;;;;;;;;;;;;;;;-1:-1:-1;;;;;1369:14:18;;;;;;:8;:14;;;;;;1359:24;;;1351:55;;;;;-1:-1:-1;;;1351:55:18;;;;;;;;;;;;-1:-1:-1;;;1351:55:18;;;;;;;;;;;;;;;-1:-1:-1;;;;;1434:13:18;;;;;;:7;:13;;;;;;;;1448:10;1434:25;;;;;;;;1424:35;;;1416:68;;;;;-1:-1:-1;;;1416:68:18;;;;;;;;;;;;-1:-1:-1;;;1416:68:18;;;;;;;;;;;;;;;-1:-1:-1;;;;;1512:14:18;;;;;;:8;:14;;;;;;:26;;1531:6;1512:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;1495:14:18;;;;;;;:8;:14;;;;;;:43;;;;1563:12;;;;;;;:24;;1580:6;1563:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;1548:12:18;;;;;;;:8;:12;;;;;;;;:39;;;;1625:13;;;;;:7;:13;;;;;1639:10;1625:25;;;;;;;:37;;1655:6;1625:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;1597:13:18;;;;;;;:7;:13;;;;;;;;1611:10;1597:25;;;;;;;;:65;;;;1677:26;;;;;;;;;;;1597:13;;1677:26;;;;;;;;;;;-1:-1:-1;1720:4:18;1167:564;;;;;:::o;231:21::-;;;;;;:::o;2076:122::-;-1:-1:-1;;;;;2162:17:18;;;;;;:8;:17;;;;;;:29;;2184:6;2162:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;2142:17:18;;;;;;;:8;:17;;;;;:49;;;;-1:-1:-1;2076:122:18:o;1050:111::-;-1:-1:-1;;;;;1139:15:18;1105;1139;;;:8;:15;;;;;;;1050:111::o;657:387::-;719:4;-1:-1:-1;;;;;743:16:18;;735:48;;;;;-1:-1:-1;;;735:48:18;;;;;;;;;;;;-1:-1:-1;;;735:48:18;;;;;;;;;;;;;;;820:10;811:20;;;;:8;:20;;;;;;801:30;;;793:61;;;;;-1:-1:-1;;;793:61:18;;;;;;;;;;;;-1:-1:-1;;;793:61:18;;;;;;;;;;;;;;;897:10;888:20;;;;:8;:20;;;;;;:32;;913:6;888:32;:24;:32;:::i;:::-;874:10;865:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;945:12:18;;;;;;:24;;962:6;945:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;930:12:18;;;;;;:8;:12;;;;;;;;;:39;;;;984:32;;;;;;;930:12;;993:10;;984:32;;;;;;;;;;-1:-1:-1;1033:4:18;657:387;;;;:::o;1942:128::-;-1:-1:-1;;;;;2040:14:18;;;2014:7;2040:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;1942:128::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;1074:157::-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\ncontract TestERC20 {\n using SafeMath for uint256;\n\n string public name;\n uint8 public decimals;\n\n mapping(address => uint256) balances;\n mapping(address => mapping(address => uint256)) internal allowed;\n\n event Transfer(address indexed from, address indexed to, uint256 amount);\n event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n constructor(string memory _name, uint8 _decimals) public {\n name = _name;\n decimals = _decimals;\n }\n\n function transfer(address to, uint256 amount) public returns (bool) {\n require(to != address(0), \"TO_ADDRESS_IS_EMPTY\");\n require(amount <= balances[msg.sender], \"BALANCE_NOT_ENOUGH\");\n\n balances[msg.sender] = balances[msg.sender].sub(amount);\n balances[to] = balances[to].add(amount);\n emit Transfer(msg.sender, to, amount);\n return true;\n }\n\n function balanceOf(address owner) public view returns (uint256 balance) {\n return balances[owner];\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public returns (bool) {\n require(to != address(0), \"TO_ADDRESS_IS_EMPTY\");\n require(amount <= balances[from], \"BALANCE_NOT_ENOUGH\");\n require(amount <= allowed[from][msg.sender], \"ALLOWANCE_NOT_ENOUGH\");\n\n balances[from] = balances[from].sub(amount);\n balances[to] = balances[to].add(amount);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount);\n emit Transfer(from, to, amount);\n return true;\n }\n\n function approve(address spender, uint256 amount) public returns (bool) {\n allowed[msg.sender][spender] = amount;\n emit Approval(msg.sender, spender, amount);\n return true;\n }\n\n function allowance(address owner, address spender) public view returns (uint256) {\n return allowed[owner][spender];\n }\n\n function mint(address account, uint256 amount) external {\n balances[account] = balances[account].add(amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestERC20.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestERC20.sol", - "exportedSymbols": { - "TestERC20": [ - 3697 - ] - }, - "id": 3698, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3417, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:18" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 3419, - "nodeType": "ImportDirective", - "scope": 3698, - "sourceUnit": 11624, - "src": "102:45:18", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3418, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "110:8:18", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3697, - "linearizedBaseContracts": [ - 3697 - ], - "name": "TestERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3422, - "libraryName": { - "contractScope": null, - "id": 3420, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "180:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "174:27:18", - "typeName": { - "id": 3421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "193:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "06fdde03", - "id": 3424, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "207:18:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3423, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "207:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 3426, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "231:21:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3425, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "231:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3430, - "mutability": "mutable", - "name": "balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "259:36:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3429, - "keyType": { - "id": 3427, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "267:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "259:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "278:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3436, - "mutability": "mutable", - "name": "allowed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "301:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3435, - "keyType": { - "id": 3431, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "309:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "301:47:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3434, - "keyType": { - "id": 3432, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "320:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "339:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 3444, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 3443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3438, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3444, - "src": "387:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "387:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3440, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3444, - "src": "409:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3439, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "409:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3442, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3444, - "src": "429:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "386:58:18" - }, - "src": "372:73:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 3452, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 3451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3446, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3452, - "src": "465:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "465:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3448, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3452, - "src": "488:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "488:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3450, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3452, - "src": "513:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "513:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "464:64:18" - }, - "src": "450:79:18" - }, - { - "body": { - "id": 3467, - "nodeType": "Block", - "src": "592:59:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3459, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3424, - "src": "602:4:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3460, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3454, - "src": "609:5:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "602:12:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3462, - "nodeType": "ExpressionStatement", - "src": "602:12:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3463, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3426, - "src": "624:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3464, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3456, - "src": "635:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "624:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3466, - "nodeType": "ExpressionStatement", - "src": "624:20:18" - } - ] - }, - "documentation": null, - "id": 3468, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3454, - "mutability": "mutable", - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3468, - "src": "547:19:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3453, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "547:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3456, - "mutability": "mutable", - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3468, - "src": "568:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3455, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "568:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "546:38:18" - }, - "returnParameters": { - "id": 3458, - "nodeType": "ParameterList", - "parameters": [], - "src": "592:0:18" - }, - "scope": 3697, - "src": "535:116:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3530, - "nodeType": "Block", - "src": "725:319:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3478, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "743:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "757:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "749:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "749:7:18", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "749:10:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "743:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "544f5f414444524553535f49535f454d505459", - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "761:21:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - }, - "value": "TO_ADDRESS_IS_EMPTY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - } - ], - "id": 3477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "735:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "735:48:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3486, - "nodeType": "ExpressionStatement", - "src": "735:48:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3488, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "801:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3489, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "811:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3492, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3490, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "820:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "820:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "811:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "801:30:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 3494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "833:20:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 3487, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "793:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "793:61:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3496, - "nodeType": "ExpressionStatement", - "src": "793:61:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3497, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "865:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3500, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3498, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "874:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "874:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "865:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3506, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "913:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3501, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "888:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3504, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3502, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "897:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "897:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "888:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "888:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "888:32:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "865:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3509, - "nodeType": "ExpressionStatement", - "src": "865:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3510, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "930:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3512, - "indexExpression": { - "argumentTypes": null, - "id": 3511, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "939:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "930:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3517, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "962:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3513, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "945:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3515, - "indexExpression": { - "argumentTypes": null, - "id": 3514, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "954:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "945:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "945:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "945:24:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "930:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3520, - "nodeType": "ExpressionStatement", - "src": "930:39:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "993:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "993:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3524, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "1005:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3525, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "1009:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3521, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3444, - "src": "984:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "984:32:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3527, - "nodeType": "EmitStatement", - "src": "979:37:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1033:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3476, - "id": 3529, - "nodeType": "Return", - "src": "1026:11:18" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 3531, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3473, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3470, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3531, - "src": "675:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3472, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3531, - "src": "687:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "687:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "674:28:18" - }, - "returnParameters": { - "id": 3476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3475, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3531, - "src": "719:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3474, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "719:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "718:6:18" - }, - "scope": 3697, - "src": "657:387:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3542, - "nodeType": "Block", - "src": "1122:39:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3538, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1139:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3540, - "indexExpression": { - "argumentTypes": null, - "id": 3539, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3533, - "src": "1148:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1139:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3537, - "id": 3541, - "nodeType": "Return", - "src": "1132:22:18" - } - ] - }, - "documentation": null, - "functionSelector": "70a08231", - "id": 3543, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3533, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3543, - "src": "1069:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1069:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1068:15:18" - }, - "returnParameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3536, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3543, - "src": "1105:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3535, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1105:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1104:17:18" - }, - "scope": 3697, - "src": "1050:111:18", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3632, - "nodeType": "Block", - "src": "1283:448:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3555, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1301:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1315:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1307:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1307:7:18", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1307:10:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1301:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "544f5f414444524553535f49535f454d505459", - "id": 3561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1319:21:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - }, - "value": "TO_ADDRESS_IS_EMPTY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - } - ], - "id": 3554, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1293:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1293:48:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3563, - "nodeType": "ExpressionStatement", - "src": "1293:48:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3565, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1359:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3566, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1369:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3568, - "indexExpression": { - "argumentTypes": null, - "id": 3567, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1378:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1369:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1359:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:20:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 3564, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1351:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1351:55:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3572, - "nodeType": "ExpressionStatement", - "src": "1351:55:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3574, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1424:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3575, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1434:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3577, - "indexExpression": { - "argumentTypes": null, - "id": 3576, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1442:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1434:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3580, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1448:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1448:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1434:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1424:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c4c4f57414e43455f4e4f545f454e4f554748", - "id": 3582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1461:22:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - }, - "value": "ALLOWANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - } - ], - "id": 3573, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1416:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1416:68:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3584, - "nodeType": "ExpressionStatement", - "src": "1416:68:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3585, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1495:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3587, - "indexExpression": { - "argumentTypes": null, - "id": 3586, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1504:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1495:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3592, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1531:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3588, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1512:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3590, - "indexExpression": { - "argumentTypes": null, - "id": 3589, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1521:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1512:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1512:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1512:26:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1495:43:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3595, - "nodeType": "ExpressionStatement", - "src": "1495:43:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3596, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1548:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3598, - "indexExpression": { - "argumentTypes": null, - "id": 3597, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1557:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1548:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3603, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1580:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3599, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1563:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3601, - "indexExpression": { - "argumentTypes": null, - "id": 3600, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1572:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1563:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1563:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1563:24:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1548:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3606, - "nodeType": "ExpressionStatement", - "src": "1548:39:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3607, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1597:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3611, - "indexExpression": { - "argumentTypes": null, - "id": 3608, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1605:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1597:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3612, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3609, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1611:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1611:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1597:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3620, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1655:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3613, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1625:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3615, - "indexExpression": { - "argumentTypes": null, - "id": 3614, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1633:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1625:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3618, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3616, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1639:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1639:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1625:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1625:29:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1625:37:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1597:65:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3623, - "nodeType": "ExpressionStatement", - "src": "1597:65:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3625, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1686:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3626, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1692:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3627, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1696:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3624, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3444, - "src": "1677:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1677:26:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3629, - "nodeType": "EmitStatement", - "src": "1672:31:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1720:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3553, - "id": 3631, - "nodeType": "Return", - "src": "1713:11:18" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 3633, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3545, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1198:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1198:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3547, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1220:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1220:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3549, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1240:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1240:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1188:72:18" - }, - "returnParameters": { - "id": 3553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3552, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1277:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1277:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1276:6:18" - }, - "scope": 3697, - "src": "1167:564:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3660, - "nodeType": "Block", - "src": "1809:127:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3642, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1819:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3646, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1827:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1827:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1819:19:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3647, - "indexExpression": { - "argumentTypes": null, - "id": 3645, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "1839:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1819:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3637, - "src": "1850:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1819:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3650, - "nodeType": "ExpressionStatement", - "src": "1819:37:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3652, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1880:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1880:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3654, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "1892:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3655, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3637, - "src": "1901:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3651, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3452, - "src": "1871:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1871:37:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3657, - "nodeType": "EmitStatement", - "src": "1866:42:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1925:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3641, - "id": 3659, - "nodeType": "Return", - "src": "1918:11:18" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 3661, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3635, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3661, - "src": "1754:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3634, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1754:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3637, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3661, - "src": "1771:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1771:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1753:33:18" - }, - "returnParameters": { - "id": 3641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3640, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3661, - "src": "1803:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3639, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1803:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1802:6:18" - }, - "scope": 3697, - "src": "1737:199:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3676, - "nodeType": "Block", - "src": "2023:47:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3670, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "2040:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3672, - "indexExpression": { - "argumentTypes": null, - "id": 3671, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "2048:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2040:14:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "id": 3673, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3665, - "src": "2055:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2040:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3669, - "id": 3675, - "nodeType": "Return", - "src": "2033:30:18" - } - ] - }, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 3677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3663, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "1961:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1961:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3665, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "1976:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1976:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1960:32:18" - }, - "returnParameters": { - "id": 3669, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3668, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "2014:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2014:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2013:9:18" - }, - "scope": 3697, - "src": "1942:128:18", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3695, - "nodeType": "Block", - "src": "2132:66:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3684, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "2142:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3686, - "indexExpression": { - "argumentTypes": null, - "id": 3685, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "2151:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2142:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3691, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "2184:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3687, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "2162:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3689, - "indexExpression": { - "argumentTypes": null, - "id": 3688, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "2171:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2162:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2162:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2162:29:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2142:49:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3694, - "nodeType": "ExpressionStatement", - "src": "2142:49:18" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 3696, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3679, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3696, - "src": "2090:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2090:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3681, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3696, - "src": "2107:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2107:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2089:33:18" - }, - "returnParameters": { - "id": 3683, - "nodeType": "ParameterList", - "parameters": [], - "src": "2132:0:18" - }, - "scope": 3697, - "src": "2076:122:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3698, - "src": "149:2051:18" - } - ], - "src": "78:2123:18" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestERC20.sol", - "exportedSymbols": { - "TestERC20": [ - 3697 - ] - }, - "id": 3698, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3417, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:18" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 3419, - "nodeType": "ImportDirective", - "scope": 3698, - "sourceUnit": 11624, - "src": "102:45:18", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3418, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "110:8:18", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3697, - "linearizedBaseContracts": [ - 3697 - ], - "name": "TestERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3422, - "libraryName": { - "contractScope": null, - "id": 3420, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "180:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "174:27:18", - "typeName": { - "id": 3421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "193:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "06fdde03", - "id": 3424, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "207:18:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3423, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "207:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 3426, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "231:21:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3425, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "231:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3430, - "mutability": "mutable", - "name": "balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "259:36:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3429, - "keyType": { - "id": 3427, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "267:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "259:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "278:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3436, - "mutability": "mutable", - "name": "allowed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3697, - "src": "301:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3435, - "keyType": { - "id": 3431, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "309:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "301:47:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3434, - "keyType": { - "id": 3432, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "320:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "339:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 3444, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 3443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3438, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3444, - "src": "387:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3437, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "387:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3440, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3444, - "src": "409:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3439, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "409:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3442, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3444, - "src": "429:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "386:58:18" - }, - "src": "372:73:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 3452, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 3451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3446, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3452, - "src": "465:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "465:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3448, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3452, - "src": "488:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "488:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3450, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3452, - "src": "513:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "513:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "464:64:18" - }, - "src": "450:79:18" - }, - { - "body": { - "id": 3467, - "nodeType": "Block", - "src": "592:59:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3459, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3424, - "src": "602:4:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3460, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3454, - "src": "609:5:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "602:12:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3462, - "nodeType": "ExpressionStatement", - "src": "602:12:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3463, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3426, - "src": "624:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3464, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3456, - "src": "635:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "624:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3466, - "nodeType": "ExpressionStatement", - "src": "624:20:18" - } - ] - }, - "documentation": null, - "id": 3468, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3454, - "mutability": "mutable", - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3468, - "src": "547:19:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3453, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "547:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3456, - "mutability": "mutable", - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3468, - "src": "568:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3455, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "568:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "546:38:18" - }, - "returnParameters": { - "id": 3458, - "nodeType": "ParameterList", - "parameters": [], - "src": "592:0:18" - }, - "scope": 3697, - "src": "535:116:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3530, - "nodeType": "Block", - "src": "725:319:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3478, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "743:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "757:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "749:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "749:7:18", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "749:10:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "743:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "544f5f414444524553535f49535f454d505459", - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "761:21:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - }, - "value": "TO_ADDRESS_IS_EMPTY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - } - ], - "id": 3477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "735:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "735:48:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3486, - "nodeType": "ExpressionStatement", - "src": "735:48:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3488, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "801:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3489, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "811:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3492, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3490, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "820:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "820:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "811:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "801:30:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 3494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "833:20:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 3487, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "793:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "793:61:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3496, - "nodeType": "ExpressionStatement", - "src": "793:61:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3497, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "865:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3500, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3498, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "874:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "874:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "865:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3506, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "913:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3501, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "888:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3504, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3502, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "897:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "897:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "888:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "888:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "888:32:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "865:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3509, - "nodeType": "ExpressionStatement", - "src": "865:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3510, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "930:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3512, - "indexExpression": { - "argumentTypes": null, - "id": 3511, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "939:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "930:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3517, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "962:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3513, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "945:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3515, - "indexExpression": { - "argumentTypes": null, - "id": 3514, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "954:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "945:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "945:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "945:24:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "930:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3520, - "nodeType": "ExpressionStatement", - "src": "930:39:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "993:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "993:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3524, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "1005:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3525, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "1009:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3521, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3444, - "src": "984:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "984:32:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3527, - "nodeType": "EmitStatement", - "src": "979:37:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1033:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3476, - "id": 3529, - "nodeType": "Return", - "src": "1026:11:18" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 3531, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3473, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3470, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3531, - "src": "675:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3472, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3531, - "src": "687:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "687:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "674:28:18" - }, - "returnParameters": { - "id": 3476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3475, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3531, - "src": "719:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3474, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "719:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "718:6:18" - }, - "scope": 3697, - "src": "657:387:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3542, - "nodeType": "Block", - "src": "1122:39:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3538, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1139:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3540, - "indexExpression": { - "argumentTypes": null, - "id": 3539, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3533, - "src": "1148:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1139:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3537, - "id": 3541, - "nodeType": "Return", - "src": "1132:22:18" - } - ] - }, - "documentation": null, - "functionSelector": "70a08231", - "id": 3543, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3533, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3543, - "src": "1069:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1069:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1068:15:18" - }, - "returnParameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3536, - "mutability": "mutable", - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3543, - "src": "1105:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3535, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1105:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1104:17:18" - }, - "scope": 3697, - "src": "1050:111:18", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3632, - "nodeType": "Block", - "src": "1283:448:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3555, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1301:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1315:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1307:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1307:7:18", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1307:10:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1301:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "544f5f414444524553535f49535f454d505459", - "id": 3561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1319:21:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - }, - "value": "TO_ADDRESS_IS_EMPTY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fce9c4217ab16f66c8c9e439976e964c9744fcc6b732bc83ede5eb9685cdc356", - "typeString": "literal_string \"TO_ADDRESS_IS_EMPTY\"" - } - ], - "id": 3554, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1293:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1293:48:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3563, - "nodeType": "ExpressionStatement", - "src": "1293:48:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3565, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1359:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3566, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1369:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3568, - "indexExpression": { - "argumentTypes": null, - "id": 3567, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1378:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1369:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1359:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "42414c414e43455f4e4f545f454e4f554748", - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:20:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - }, - "value": "BALANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cdd726e298d9165e3d91fe96d56676b5342c508882ebbe585be31adbc426425d", - "typeString": "literal_string \"BALANCE_NOT_ENOUGH\"" - } - ], - "id": 3564, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1351:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1351:55:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3572, - "nodeType": "ExpressionStatement", - "src": "1351:55:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3574, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1424:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3575, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1434:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3577, - "indexExpression": { - "argumentTypes": null, - "id": 3576, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1442:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1434:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3580, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1448:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1448:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1434:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1424:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "414c4c4f57414e43455f4e4f545f454e4f554748", - "id": 3582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1461:22:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - }, - "value": "ALLOWANCE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_28638f118cb48e54afcdd39bdb97baeb95a670cffee1fd95f73350a923dc1c6f", - "typeString": "literal_string \"ALLOWANCE_NOT_ENOUGH\"" - } - ], - "id": 3573, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1416:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1416:68:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3584, - "nodeType": "ExpressionStatement", - "src": "1416:68:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3585, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1495:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3587, - "indexExpression": { - "argumentTypes": null, - "id": 3586, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1504:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1495:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3592, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1531:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3588, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1512:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3590, - "indexExpression": { - "argumentTypes": null, - "id": 3589, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1521:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1512:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1512:18:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1512:26:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1495:43:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3595, - "nodeType": "ExpressionStatement", - "src": "1495:43:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3596, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1548:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3598, - "indexExpression": { - "argumentTypes": null, - "id": 3597, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1557:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1548:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3603, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1580:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3599, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "1563:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3601, - "indexExpression": { - "argumentTypes": null, - "id": 3600, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1572:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1563:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "1563:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1563:24:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1548:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3606, - "nodeType": "ExpressionStatement", - "src": "1548:39:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3607, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1597:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3611, - "indexExpression": { - "argumentTypes": null, - "id": 3608, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1605:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1597:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3612, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3609, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1611:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1611:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1597:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3620, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1655:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3613, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1625:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3615, - "indexExpression": { - "argumentTypes": null, - "id": 3614, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1633:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1625:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3618, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3616, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1639:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1639:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1625:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "1625:29:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1625:37:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1597:65:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3623, - "nodeType": "ExpressionStatement", - "src": "1597:65:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3625, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1686:4:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3626, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3547, - "src": "1692:2:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3627, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "1696:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3624, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3444, - "src": "1677:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1677:26:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3629, - "nodeType": "EmitStatement", - "src": "1672:31:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1720:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3553, - "id": 3631, - "nodeType": "Return", - "src": "1713:11:18" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 3633, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3545, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1198:12:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1198:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3547, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1220:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1220:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3549, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1240:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1240:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1188:72:18" - }, - "returnParameters": { - "id": 3553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3552, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3633, - "src": "1277:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1277:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1276:6:18" - }, - "scope": 3697, - "src": "1167:564:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3660, - "nodeType": "Block", - "src": "1809:127:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3642, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "1819:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3646, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1827:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1827:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1819:19:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3647, - "indexExpression": { - "argumentTypes": null, - "id": 3645, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "1839:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1819:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3637, - "src": "1850:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1819:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3650, - "nodeType": "ExpressionStatement", - "src": "1819:37:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3652, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1880:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1880:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3654, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "1892:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3655, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3637, - "src": "1901:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3651, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3452, - "src": "1871:8:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1871:37:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3657, - "nodeType": "EmitStatement", - "src": "1866:42:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1925:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3641, - "id": 3659, - "nodeType": "Return", - "src": "1918:11:18" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 3661, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3635, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3661, - "src": "1754:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3634, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1754:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3637, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3661, - "src": "1771:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1771:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1753:33:18" - }, - "returnParameters": { - "id": 3641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3640, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3661, - "src": "1803:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3639, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1803:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1802:6:18" - }, - "scope": 3697, - "src": "1737:199:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3676, - "nodeType": "Block", - "src": "2023:47:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3670, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "2040:7:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3672, - "indexExpression": { - "argumentTypes": null, - "id": 3671, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "2048:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2040:14:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "id": 3673, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3665, - "src": "2055:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2040:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3669, - "id": 3675, - "nodeType": "Return", - "src": "2033:30:18" - } - ] - }, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 3677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3663, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "1961:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1961:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3665, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "1976:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1976:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1960:32:18" - }, - "returnParameters": { - "id": 3669, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3668, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "2014:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2014:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2013:9:18" - }, - "scope": 3697, - "src": "1942:128:18", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3695, - "nodeType": "Block", - "src": "2132:66:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3684, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "2142:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3686, - "indexExpression": { - "argumentTypes": null, - "id": 3685, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "2151:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2142:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3691, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "2184:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3687, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "2162:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3689, - "indexExpression": { - "argumentTypes": null, - "id": 3688, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "2171:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2162:17:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "2162:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2162:29:18", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2142:49:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3694, - "nodeType": "ExpressionStatement", - "src": "2142:49:18" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 3696, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3679, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3696, - "src": "2090:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2090:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3681, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3696, - "src": "2107:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2107:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2089:33:18" - }, - "returnParameters": { - "id": 3683, - "nodeType": "ParameterList", - "parameters": [], - "src": "2132:0:18" - }, - "scope": 3697, - "src": "2076:122:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3698, - "src": "149:2051:18" - } - ], - "src": "78:2123:18" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.523Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/Trader.json b/build-v1/contracts/Trader.json deleted file mode 100644 index ad7d990..0000000 --- a/build-v1/contracts/Trader.json +++ /dev/null @@ -1,20610 +0,0 @@ -{ - "contractName": "Trader", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payQuote", - "type": "uint256" - } - ], - "name": "BuyBaseToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "maintainer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ChargeMaintainerFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "baseTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteTokenAmount", - "type": "uint256" - } - ], - "name": "ClaimAssets", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - } - ], - "name": "Donate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferPrepared", - "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": "seller", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "payBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receiveQuote", - "type": "uint256" - } - ], - "name": "SellBaseToken", - "type": "event" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_RECEIVE_QUOTE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BASE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_BUYING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_CLAIMED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_CLOSED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_BASE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DEPOSIT_QUOTE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_GAS_PRICE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_K_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_LP_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MAINTAINER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_MT_FEE_RATE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_NEW_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_ORACLE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_OWNER_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_BALANCE_LIMIT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_RECEIVE_BASE_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_CAPITAL_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_TOKEN_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_R_STATUS_", - "outputs": [ - { - "internalType": "enum Types.RStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SELLING_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_SUPERVISOR_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_TRADE_ALLOWED_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimAssets", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateBaseToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "donateQuoteToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finalSettlement", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getBaseCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedTarget", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTarget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteTarget", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMidPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "midPrice", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOraclePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lp", - "type": "address" - } - ], - "name": "getQuoteCapitalBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBaseCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalQuoteCapital", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "retrieve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minReceiveQuote", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "sellBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxPayQuote", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "buyBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "querySellBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "receiveQuote", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "queryBuyBaseToken", - "outputs": [ - { - "internalType": "uint256", - "name": "payQuote", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveBase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"name\":\"BuyBaseToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ChargeMaintainerFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quoteTokenAmount\",\"type\":\"uint256\"}],\"name\":\"ClaimAssets\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"}],\"name\":\"Donate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"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\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payBase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"name\":\"SellBaseToken\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPayQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"buyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateBaseToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateQuoteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpectedTarget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseTarget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTarget\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMidPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"midPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"queryBuyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"querySellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"retrieve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReceiveQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Trader\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for trader operations\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol\":\"Trader\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol\":{\"keccak256\":\"0xaec47be06aa7f8994923c80f2c2318304423666300a48f03a43265787f27c708\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e187f46639dd1127abc81439896e67e21338e9eee8707996606b0c9c8ede68a1\",\"dweb:/ipfs/QmPSfPbZuyM3haHZtWVFknZLAMqg2Jy613jQ36JGuCm7LS\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol\":{\"keccak256\":\"0x8167f472615dc95cf743254785eeef730a0a3b753f05f5b64391fbb9992c8ab6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e2a25e398638f4bbecf434cf9b8b608c34a1271c051ee7e411b6c2c32702439\",\"dweb:/ipfs/QmUQmysLQ1k8uBWGzsTdmGCqyWQhZ4xtzPWAfsALGWYLPh\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol\":{\"keccak256\":\"0x5646e8b46c11ec0405e6111d3ef46019235694c6940d3bc1eed20873ed545498\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cc7c25e66cec9cee54e4dbcb48b8022391f4566b94e32d5ce8fd2e278cdc7b8\",\"dweb:/ipfs/QmVR9sWfVtnEyBhEPSppidiAdE9efTe5FcEZtzfUFXcbcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol\":{\"keccak256\":\"0x229c6157d9f467f52d98634966a88fce7c7d68d1b7ee5c4897957b3bc33ee2c5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d9ca56838de93c5727da081665c37fb7e4448cc584e3ff72f5d9867775c0ee5f\",\"dweb:/ipfs/QmTVeQ8EJqnrSYsu4GU4jhaUzW9FC45fAoXKHniBNXNaZs\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":{\"keccak256\":\"0xe3f63c53706f21ad68ebeff69321682ffa83bb0552db7e4453dff9772724f657\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64e385f8c3fbe9e485d0b1b0f90f9621bf50fe02ee7cb95a44828a255db3581f\",\"dweb:/ipfs/QmNesw9cspw1fDDumDy1BSrCeGVij1BAfAVXpfajKHGUcn\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50612928806100206000396000f3fe608060405234801561001057600080fd5b50600436106102a05760003560e01c80638dae733311610167578063c6b73cf9116100ce578063ec2fd46d11610087578063ec2fd46d1461048c578063ed0aa42814610494578063ee27c689146104a7578063f2fde38b146104af578063f67ed448146104c2578063ffa64225146104d5576102a0565b8063c6b73cf914610451578063d4b9704614610459578063d689107c14610461578063dd58b41c14610469578063e67ce70614610471578063eab5d20e14610484576102a0565b8063ab44a7a311610120578063ab44a7a314610416578063ac1fbc981461041e578063b2094fd314610426578063c0ffa1781461042e578063c3a2a66514610436578063c5bbffe814610449576102a0565b80638dae7333146103d05780638ff5e742146103e35780639b020fba146103eb578063a2801e16146103f3578063a3161a5614610406578063a598aca71461040e576102a0565b80634a248d2a1161020b5780636ec6a58d116101c45780636ec6a58d1461039557806373a2ab7c1461039d578063796da7af146103a55780637aed942d146103ad5780637c9b8e89146103c05780638456db15146103c8576102a0565b80634a248d2a1461034d5780634de4527e146103555780634e71e0c81461035d57806354fd4d5014610365578063648a4fac1461036d57806368be20ad14610375576102a0565b80631f3c156e1161025d5780631f3c156e14610310578063245c96851461031a5780632aa82c6514610322578063387b0c111461032a5780633960f1421461033d5780634322ec8314610345576102a0565b80630cd1667d146102a55780630e6518e9146102c357806316048bc4146102cb5780631769ddaa146102e057806317be952e146102e857806318c0bbe4146102fd575b600080fd5b6102ad6104eb565b6040516102ba91906128cb565b60405180910390f35b6102ad61056e565b6102d3610574565b6040516102ba91906123f9565b6102ad610583565b6102f0610589565b6040516102ba91906124ab565b6102ad61030b366004612313565b610592565b6103186105a9565b005b6102ad610875565b6102ad61087b565b610318610338366004612313565b6108c0565b6102d3610920565b6102d361092f565b6102d361093e565b6102ad61094d565b610318610953565b6102ad6109e1565b6103186109e6565b6103886103833660046122ae565b610b00565b6040516102ba919061244a565b610388610b15565b6102d3610b25565b6102ad610b34565b6102ad6103bb3660046122ae565b610b79565b6102ad610c00565b6102d3610c06565b6102ad6103de366004612343565b610c15565b610388610eaa565b6102ad610eb8565b6102ad610401366004612313565b610ebe565b610388610ec9565b610388610ed2565b6102ad610ee2565b6102d3610ee8565b6102ad610ef7565b6102ad610efd565b6103186104443660046122c9565b610f03565b6103886110d9565b6102ad6110e9565b6102d36110ef565b6102d36110fe565b61038861110d565b6102ad61047f366004612343565b61111d565b6102ad611389565b6102ad61138f565b6103186104a2366004612313565b611395565b6102ad6113e5565b6103186104bd3660046122ae565b6114d6565b6102ad6104d03660046122ae565b611581565b6104dd6115b2565b6040516102ba9291906128e4565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561053057600080fd5b505afa158015610544573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610568919061232b565b90505b90565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b600061059d82611676565b50939695505050505050565b600154600160a01b900460ff16156105dc5760405162461bcd60e51b81526004016105d39061251d565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff166106175760405162461bcd60e51b81526004016105d390612876565b3360009081526017602052604090205460ff16156106475760405162461bcd60e51b81526004016105d39061284d565b336000818152601760205260408120805460ff191660011790559061066b90611581565b9050600061067833610b79565b9050600082156106af576106ac61068d61087b565b6010546106a0908663ffffffff6117c616565b9063ffffffff61180716565b90505b600082156106d8576106d56106c26104eb565b600f546106a0908663ffffffff6117c616565b90505b6010546106eb908363ffffffff61183916565b601055600f54610701908263ffffffff61183916565b600f8190555061072361071684601554611861565b839063ffffffff61188316565b915061074161073485601654611861565b829063ffffffff61188316565b905061074d33826118a8565b61075733836118df565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610789903390879060040161240d565b600060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac91506107ed903390889060040161240d565b600060405180830381600087803b15801561080757600080fd5b505af115801561081b573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c43828460405161085a9291906128e4565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561053057600080fd5b600154600160a01b900460ff16156108ea5760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b1790556109073382611916565b6109108161197b565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b0316331461097d5760405162461bcd60e51b81526004016105d3906124f6565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314610a105760405162461bcd60e51b81526004016105d390612709565b600154600160b01b900460ff1615610a3a5760405162461bcd60e51b81526004016105d3906126b7565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b171690556000610a626104eb565b90506000610a6e61087b565b90506010546012541115610aaa576000610a9560105460125461183990919063ffffffff16565b9050610aa181846119cf565b60155550610ab1565b6012546010555b600f546011541115610aeb576000610ad6600f5460115461183990919063ffffffff16565b9050610ae281836119cf565b60165550610af2565b601154600f555b5050600e805460ff19169055565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561053057600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610baa9085906004016123f9565b60206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa919061232b565b92915050565b60125481565b6001546001600160a01b031681565b600154600090600160c81b900460ff16610c415760405162461bcd60e51b81526004016105d390612665565b600354610100900460ff16610c685760405162461bcd60e51b81526004016105d3906126dc565b6002543a1115610c8a5760405162461bcd60e51b81526004016105d390612823565b600154600160a01b900460ff1615610cb45760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b17905560008080808080610cd78b6119ed565b95509550955095509550955089861015610d035760405162461bcd60e51b81526004016105d390612799565b610d0d33876118df565b8715610d725760405163301bc67560e11b815233906360378cea90610d3f906000908f908b908f908f90600401612465565b600060405180830381600087803b158015610d5957600080fd5b505af1158015610d6d573d6000803e3d6000fd5b505050505b610d7c338c611b42565b8315610de357600754610d98906001600160a01b0316856118df565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe90610dda906000908890612455565b60405180910390a25b8160105414610df25760108290555b80600f5414610e0157600f8190555b826002811115610e0d57fe5b600e5460ff166002811115610e1e57fe5b14610e4257600e805484919060ff19166001836002811115610e3c57fe5b02179055505b610e4b8561197b565b336001600160a01b03167fd8648b6ac54162763c86fd54bf2005af8ecd2f9cb273a5775921fd7f91e17b2d8c88604051610e869291906128e4565b60405180910390a250506001805460ff60a01b191690555091979650505050505050565b600354610100900460ff1681565b60045481565b600061059d826119ed565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b6000546001600160a01b03163314610f2d5760405162461bcd60e51b81526004016105d390612709565b6008546001600160a01b0383811691161415610ff457601154610f56908263ffffffff61188316565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190610f869030906004016123f9565b60206040518083038186803b158015610f9e57600080fd5b505afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061232b565b1015610ff45760405162461bcd60e51b81526004016105d39061262e565b6009546001600160a01b03838116911614156110bb5760125461101d908263ffffffff61188316565b6009546040516370a0823160e01b81526001600160a01b03909116906370a082319061104d9030906004016123f9565b60206040518083038186803b15801561106557600080fd5b505afa158015611079573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109d919061232b565b10156110bb5760405162461bcd60e51b81526004016105d3906124bf565b6110d56001600160a01b038316338363ffffffff611ba716565b5050565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b600154600090600160c81b900460ff166111495760405162461bcd60e51b81526004016105d390612665565b60035460ff1661116b5760405162461bcd60e51b81526004016105d39061289f565b6002543a111561118d5760405162461bcd60e51b81526004016105d390612823565b600154600160a01b900460ff16156111b75760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b179055600080808080806111da8b611676565b955095509550955095509550898611156112065760405162461bcd60e51b81526004016105d3906127d0565b611210338c6118a8565b87156112755760405163301bc67560e11b815233906360378cea90611242906001908f908b908f908f90600401612465565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505050505b61127f3387611916565b83156112e65760075461129b906001600160a01b0316856118a8565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe906112dd906001908890612455565b60405180910390a25b81601054146112f55760108290555b80600f541461130457600f8190555b82600281111561131057fe5b600e5460ff16600281111561132157fe5b1461134557600e805484919060ff1916600183600281111561133f57fe5b02179055505b61134e85611c02565b336001600160a01b03167fe93ad76094f247c0dafc1c61adc2187de1ac2738f7a3b49cb20b2263420251a38c88604051610e869291906128e4565b60115481565b600d5481565b600154600160a01b900460ff16156113bf5760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b1790556113dc3382611b42565b61091081611c02565b60008060006113f26115b2565b90925090506002600e5460ff16600281111561140a57fe5b141561148c57600061143661142e6012546106a085866117c690919063ffffffff16565b6012546119cf565b905061146f611447600d5483611861565b600d5461146390670de0b6b3a76400009063ffffffff61183916565b9063ffffffff61188316565b905061148261147c610b34565b826119cf565b935050505061056b565b60006114b26114aa6011546106a086876117c690919063ffffffff16565b6011546119cf565b90506114c3611447600d5483611861565b90506114826114d0610b34565b82611861565b6000546001600160a01b031633146115005760405162461bcd60e51b81526004016105d390612709565b6001600160a01b0381166115265760405162461bcd60e51b81526004016105d390612690565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610baa9085906004016123f9565b601254601154600091829182600e5460ff1660028111156115cf57fe5b14156115e657600f54601054935093505050611672565b6002600e5460ff1660028111156115f957fe5b141561162b576000611609611c4b565b600f5490915061161f848363ffffffff61188316565b94509450505050611672565b6001600e5460ff16600281111561163e57fe5b141561166f57600061164e611cb2565b9050611660828263ffffffff61188316565b60105494509450505050611672565b50505b9091565b6000806000806000806116876115b2565b809350819250505061169b87600b54611861565b94506116a987600c54611861565b935060006116c1856114638a8963ffffffff61188316565b90506000600e5460ff1660028111156116d657fe5b14156116f1576116e68183611d10565b9650600193506117bc565b6001600e5460ff16600281111561170457fe5b1415611717576116e68160115484611d58565b6002600e5460ff16600281111561172a57fe5b14156117bc5760006117476012548561183990919063ffffffff16565b905060006117608460115461183990919063ffffffff16565b905080831015611782576117778360125487611da1565b9850600295506117b9565b8083141561179657819850600095506117b9565b6117b26107166117ac858463ffffffff61183916565b86611d10565b9850600195505b50505b5091939550919395565b6000826117d557506000610bfa565b828202828482816117e257fe5b04146118005760405162461bcd60e51b81526004016105d390612800565b9392505050565b60008082116118285760405162461bcd60e51b81526004016105d3906125ac565b81838161183157fe5b049392505050565b60008282111561185b5760405162461bcd60e51b81526004016105d39061260b565b50900390565b6000670de0b6b3a764000061187c848463ffffffff6117c616565b8161183157fe5b6000828201838110156118005760405162461bcd60e51b81526004016105d39061272c565b6008546118c5906001600160a01b0316838363ffffffff611ba716565b6011546118d8908263ffffffff61183916565b6011555050565b6009546118fc906001600160a01b0316838363ffffffff611ba716565b60125461190f908263ffffffff61183916565b6012555050565b60055460125461192c908363ffffffff61188316565b111561194a5760405162461bcd60e51b81526004016105d390612540565b600954611968906001600160a01b031683308463ffffffff611de516565b60125461190f908263ffffffff61188316565b60105461198e908263ffffffff61188316565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906119c49083906000906128d4565b60405180910390a150565b6000611800826106a085670de0b6b3a764000063ffffffff6117c616565b6000806000806000806119fe6115b2565b92509050866000600e5460ff166002811115611a1657fe5b1415611a3157611a268184611e0c565b965060029350611afa565b6001600e5460ff166002811115611a4457fe5b1415611ae6576000611a616011548461183990919063ffffffff16565b90506000611a7a8560125461183990919063ffffffff16565b905081831015611aa857611a918360115486611e46565b98506001955080891115611aa3578098505b611adf565b81831415611abc5780985060009550611adf565b611ad8610734611ad2858563ffffffff61183916565b87611e0c565b9850600295505b5050611afa565b611af38160125485611e66565b9650600293505b611b0687600b54611861565b9550611b1487600c54611861565b9450611b3685611b2a898963ffffffff61183916565b9063ffffffff61183916565b96505091939550919395565b600454601154611b58908363ffffffff61188316565b1115611b765760405162461bcd60e51b81526004016105d3906125d4565b600854611b94906001600160a01b031683308463ffffffff611de516565b6011546118d8908263ffffffff61188316565b611bfd8363a9059cbb60e01b8484604051602401611bc692919061240d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e96565b505050565b600f54611c15908263ffffffff61188316565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906119c49083906001906128d4565b600080611c65600f5460115461183990919063ffffffff16565b90506000611c71610b34565b90506000611c7f8383611861565b90506000611c92601254600d5484611f4d565b9050611ca96012548261183990919063ffffffff16565b94505050505090565b600080611ccc60105460125461183990919063ffffffff16565b90506000611cd8610b34565b90506000611ce683836119cf565b90506000611cf9601154600d5484611f4d565b9050611ca96011548261183990919063ffffffff16565b6000818310611d315760405162461bcd60e51b81526004016105d39061262e565b6000611d43838563ffffffff61183916565b9050611d50838483611ff2565b949350505050565b6000828410611d795760405162461bcd60e51b81526004016105d39061262e565b6000611d8b848663ffffffff61183916565b9050611d98838583611ff2565b95945050505050565b600080611dac610b34565b90506000611dc98486611dbf858a61200e565b6001600d54612038565b9050611ddb818663ffffffff61183916565b9695505050505050565b611e06846323b872dd60e01b858585604051602401611bc693929190612426565b50505050565b600080611e17610b34565b90506000611e348485611e2a8589611861565b6000600d54612038565b9050611d98848263ffffffff61183916565b600080611e59848663ffffffff61188316565b9050611d98838286611ff2565b600080611e71610b34565b90506000611e848486611e2a858a611861565b9050611ddb858263ffffffff61183916565b60006060836001600160a01b031683604051611eb291906123c0565b6000604051808303816000865af19150503d8060008114611eef576040519150601f19603f3d011682016040523d82523d6000602084013e611ef4565b606091505b509150915081611f165760405162461bcd60e51b81526004016105d390612577565b805115611e065780806020019051810190611f3191906122f3565b611e065760405162461bcd60e51b81526004016105d39061274f565b600080611f74611f6e6004611f628787611861565b9063ffffffff6117c616565b866121a0565b9050611f9a611f95670de0b6b3a7640000611f62848263ffffffff61188316565b6121be565b90506000611fcf611fb983670de0b6b3a764000063ffffffff61183916565b611fca87600263ffffffff6117c616565b6121a0565b9050611ddb86611fed670de0b6b3a76400008463ffffffff61188316565b611861565b600080611ffd610b34565b9050611d9885858584600d546121f5565b6000611800670de0b6b3a764000061202c858563ffffffff6117c616565b9063ffffffff61226a16565b60008061204d866106a089611f62878c611861565b9050600061207261206c670de0b6b3a76400008663ffffffff61183916565b88611861565b9050600185156120935761208c828863ffffffff61188316565b91506120a6565b6120a3838863ffffffff61188316565b92505b8282106120c8576120bd828463ffffffff61183916565b9150600190506120df565b6120d8838363ffffffff61183916565b9150600090505b600061210f6121016004611f62670de0b6b3a76400008a63ffffffff61183916565b611fed8c611f628a8f611861565b9050612128611f9582611463868063ffffffff6117c616565b905060006121496002611f62670de0b6b3a76400008a63ffffffff61183916565b90506000831561216a57612163858463ffffffff61188316565b905061217d565b61217a838663ffffffff61183916565b90505b881561219a5761218d81836119cf565b9650505050505050611d98565b61218d81835b60006118008261202c85670de0b6b3a764000063ffffffff6117c616565b80600160028204015b818110156121ef578091506002818285816121de57fe5b0401816121e757fe5b0490506121c7565b50919050565b60008061220c84611fed888863ffffffff61183916565b9050600061222d612227886106a08b8063ffffffff6117c616565b876121a0565b9050600061223b8583611861565b905061225d83611fed83611463670de0b6b3a76400008a63ffffffff61183916565b9998505050505050505050565b6000806122778484611807565b90508281028403801561228f57506001019050610bfa565b509050610bfa565b80356001600160a01b0381168114610bfa57600080fd5b6000602082840312156122bf578081fd5b6118008383612297565b600080604083850312156122db578081fd5b6122e58484612297565b946020939093013593505050565b600060208284031215612304578081fd5b81518015158114611800578182fd5b600060208284031215612324578081fd5b5035919050565b60006020828403121561233c578081fd5b5051919050565b60008060008060608587031215612358578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561237d578384fd5b81870188601f82011261238e578485fd5b803592508183111561239e578485fd5b8860208483010111156123af578485fd5b959894975050602090940194505050565b60008251815b818110156123e057602081860181015185830152016123c6565b818111156123ee5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b6000861515825285602083015284604083015260806060830152826080830152828460a084013781830160a090810191909152601f909201601f19160101949350505050565b60208101600383106124b957fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b602080825260119082015270151490511157d393d517d0531313d5d151607a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b60208082526013908201527214d15313125391d7d393d517d0531313d5d151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601c908201527f53454c4c5f424153455f524543454956455f4e4f545f454e4f55474800000000604082015260600190565b602080825260169082015275084aab2be8482a68abe869ea6a8bea89e9ebe9aaa86960531b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b60208082526010908201526f11d054d7d4149250d157d15610d1515160821b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b602080825260129082015271109556525391d7d393d517d0531313d5d15160721b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fea26469706673582212207a4c255481018edf84fe613b9725b4a42410b40e0027c90d542b6341c231f00264736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102a05760003560e01c80638dae733311610167578063c6b73cf9116100ce578063ec2fd46d11610087578063ec2fd46d1461048c578063ed0aa42814610494578063ee27c689146104a7578063f2fde38b146104af578063f67ed448146104c2578063ffa64225146104d5576102a0565b8063c6b73cf914610451578063d4b9704614610459578063d689107c14610461578063dd58b41c14610469578063e67ce70614610471578063eab5d20e14610484576102a0565b8063ab44a7a311610120578063ab44a7a314610416578063ac1fbc981461041e578063b2094fd314610426578063c0ffa1781461042e578063c3a2a66514610436578063c5bbffe814610449576102a0565b80638dae7333146103d05780638ff5e742146103e35780639b020fba146103eb578063a2801e16146103f3578063a3161a5614610406578063a598aca71461040e576102a0565b80634a248d2a1161020b5780636ec6a58d116101c45780636ec6a58d1461039557806373a2ab7c1461039d578063796da7af146103a55780637aed942d146103ad5780637c9b8e89146103c05780638456db15146103c8576102a0565b80634a248d2a1461034d5780634de4527e146103555780634e71e0c81461035d57806354fd4d5014610365578063648a4fac1461036d57806368be20ad14610375576102a0565b80631f3c156e1161025d5780631f3c156e14610310578063245c96851461031a5780632aa82c6514610322578063387b0c111461032a5780633960f1421461033d5780634322ec8314610345576102a0565b80630cd1667d146102a55780630e6518e9146102c357806316048bc4146102cb5780631769ddaa146102e057806317be952e146102e857806318c0bbe4146102fd575b600080fd5b6102ad6104eb565b6040516102ba91906128cb565b60405180910390f35b6102ad61056e565b6102d3610574565b6040516102ba91906123f9565b6102ad610583565b6102f0610589565b6040516102ba91906124ab565b6102ad61030b366004612313565b610592565b6103186105a9565b005b6102ad610875565b6102ad61087b565b610318610338366004612313565b6108c0565b6102d3610920565b6102d361092f565b6102d361093e565b6102ad61094d565b610318610953565b6102ad6109e1565b6103186109e6565b6103886103833660046122ae565b610b00565b6040516102ba919061244a565b610388610b15565b6102d3610b25565b6102ad610b34565b6102ad6103bb3660046122ae565b610b79565b6102ad610c00565b6102d3610c06565b6102ad6103de366004612343565b610c15565b610388610eaa565b6102ad610eb8565b6102ad610401366004612313565b610ebe565b610388610ec9565b610388610ed2565b6102ad610ee2565b6102d3610ee8565b6102ad610ef7565b6102ad610efd565b6103186104443660046122c9565b610f03565b6103886110d9565b6102ad6110e9565b6102d36110ef565b6102d36110fe565b61038861110d565b6102ad61047f366004612343565b61111d565b6102ad611389565b6102ad61138f565b6103186104a2366004612313565b611395565b6102ad6113e5565b6103186104bd3660046122ae565b6114d6565b6102ad6104d03660046122ae565b611581565b6104dd6115b2565b6040516102ba9291906128e4565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561053057600080fd5b505afa158015610544573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610568919061232b565b90505b90565b60165481565b6000546001600160a01b031681565b60055481565b600e5460ff1681565b600061059d82611676565b50939695505050505050565b600154600160a01b900460ff16156105dc5760405162461bcd60e51b81526004016105d39061251d565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff166106175760405162461bcd60e51b81526004016105d390612876565b3360009081526017602052604090205460ff16156106475760405162461bcd60e51b81526004016105d39061284d565b336000818152601760205260408120805460ff191660011790559061066b90611581565b9050600061067833610b79565b9050600082156106af576106ac61068d61087b565b6010546106a0908663ffffffff6117c616565b9063ffffffff61180716565b90505b600082156106d8576106d56106c26104eb565b600f546106a0908663ffffffff6117c616565b90505b6010546106eb908363ffffffff61183916565b601055600f54610701908263ffffffff61183916565b600f8190555061072361071684601554611861565b839063ffffffff61188316565b915061074161073485601654611861565b829063ffffffff61188316565b905061074d33826118a8565b61075733836118df565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610789903390879060040161240d565b600060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac91506107ed903390889060040161240d565b600060405180830381600087803b15801561080757600080fd5b505af115801561081b573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c43828460405161085a9291906128e4565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561053057600080fd5b600154600160a01b900460ff16156108ea5760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b1790556109073382611916565b6109108161197b565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b0316331461097d5760405162461bcd60e51b81526004016105d3906124f6565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314610a105760405162461bcd60e51b81526004016105d390612709565b600154600160b01b900460ff1615610a3a5760405162461bcd60e51b81526004016105d3906126b7565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b171690556000610a626104eb565b90506000610a6e61087b565b90506010546012541115610aaa576000610a9560105460125461183990919063ffffffff16565b9050610aa181846119cf565b60155550610ab1565b6012546010555b600f546011541115610aeb576000610ad6600f5460115461183990919063ffffffff16565b9050610ae281836119cf565b60165550610af2565b601154600f555b5050600e805460ff19169055565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801561053057600080fd5b6013546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610baa9085906004016123f9565b60206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa919061232b565b92915050565b60125481565b6001546001600160a01b031681565b600154600090600160c81b900460ff16610c415760405162461bcd60e51b81526004016105d390612665565b600354610100900460ff16610c685760405162461bcd60e51b81526004016105d3906126dc565b6002543a1115610c8a5760405162461bcd60e51b81526004016105d390612823565b600154600160a01b900460ff1615610cb45760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b17905560008080808080610cd78b6119ed565b95509550955095509550955089861015610d035760405162461bcd60e51b81526004016105d390612799565b610d0d33876118df565b8715610d725760405163301bc67560e11b815233906360378cea90610d3f906000908f908b908f908f90600401612465565b600060405180830381600087803b158015610d5957600080fd5b505af1158015610d6d573d6000803e3d6000fd5b505050505b610d7c338c611b42565b8315610de357600754610d98906001600160a01b0316856118df565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe90610dda906000908890612455565b60405180910390a25b8160105414610df25760108290555b80600f5414610e0157600f8190555b826002811115610e0d57fe5b600e5460ff166002811115610e1e57fe5b14610e4257600e805484919060ff19166001836002811115610e3c57fe5b02179055505b610e4b8561197b565b336001600160a01b03167fd8648b6ac54162763c86fd54bf2005af8ecd2f9cb273a5775921fd7f91e17b2d8c88604051610e869291906128e4565b60405180910390a250506001805460ff60a01b191690555091979650505050505050565b600354610100900460ff1681565b60045481565b600061059d826119ed565b60035460ff1681565b600154600160c01b900460ff1681565b600b5481565b6014546001600160a01b031681565b600f5481565b600c5481565b6000546001600160a01b03163314610f2d5760405162461bcd60e51b81526004016105d390612709565b6008546001600160a01b0383811691161415610ff457601154610f56908263ffffffff61188316565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190610f869030906004016123f9565b60206040518083038186803b158015610f9e57600080fd5b505afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061232b565b1015610ff45760405162461bcd60e51b81526004016105d39061262e565b6009546001600160a01b03838116911614156110bb5760125461101d908263ffffffff61188316565b6009546040516370a0823160e01b81526001600160a01b03909116906370a082319061104d9030906004016123f9565b60206040518083038186803b15801561106557600080fd5b505afa158015611079573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109d919061232b565b10156110bb5760405162461bcd60e51b81526004016105d3906124bf565b6110d56001600160a01b038316338363ffffffff611ba716565b5050565b600154600160b81b900460ff1681565b60155481565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b600154600090600160c81b900460ff166111495760405162461bcd60e51b81526004016105d390612665565b60035460ff1661116b5760405162461bcd60e51b81526004016105d39061289f565b6002543a111561118d5760405162461bcd60e51b81526004016105d390612823565b600154600160a01b900460ff16156111b75760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b179055600080808080806111da8b611676565b955095509550955095509550898611156112065760405162461bcd60e51b81526004016105d3906127d0565b611210338c6118a8565b87156112755760405163301bc67560e11b815233906360378cea90611242906001908f908b908f908f90600401612465565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505050505b61127f3387611916565b83156112e65760075461129b906001600160a01b0316856118a8565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe906112dd906001908890612455565b60405180910390a25b81601054146112f55760108290555b80600f541461130457600f8190555b82600281111561131057fe5b600e5460ff16600281111561132157fe5b1461134557600e805484919060ff1916600183600281111561133f57fe5b02179055505b61134e85611c02565b336001600160a01b03167fe93ad76094f247c0dafc1c61adc2187de1ac2738f7a3b49cb20b2263420251a38c88604051610e869291906128e4565b60115481565b600d5481565b600154600160a01b900460ff16156113bf5760405162461bcd60e51b81526004016105d39061251d565b6001805460ff60a01b1916600160a01b1790556113dc3382611b42565b61091081611c02565b60008060006113f26115b2565b90925090506002600e5460ff16600281111561140a57fe5b141561148c57600061143661142e6012546106a085866117c690919063ffffffff16565b6012546119cf565b905061146f611447600d5483611861565b600d5461146390670de0b6b3a76400009063ffffffff61183916565b9063ffffffff61188316565b905061148261147c610b34565b826119cf565b935050505061056b565b60006114b26114aa6011546106a086876117c690919063ffffffff16565b6011546119cf565b90506114c3611447600d5483611861565b90506114826114d0610b34565b82611861565b6000546001600160a01b031633146115005760405162461bcd60e51b81526004016105d390612709565b6001600160a01b0381166115265760405162461bcd60e51b81526004016105d390612690565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610baa9085906004016123f9565b601254601154600091829182600e5460ff1660028111156115cf57fe5b14156115e657600f54601054935093505050611672565b6002600e5460ff1660028111156115f957fe5b141561162b576000611609611c4b565b600f5490915061161f848363ffffffff61188316565b94509450505050611672565b6001600e5460ff16600281111561163e57fe5b141561166f57600061164e611cb2565b9050611660828263ffffffff61188316565b60105494509450505050611672565b50505b9091565b6000806000806000806116876115b2565b809350819250505061169b87600b54611861565b94506116a987600c54611861565b935060006116c1856114638a8963ffffffff61188316565b90506000600e5460ff1660028111156116d657fe5b14156116f1576116e68183611d10565b9650600193506117bc565b6001600e5460ff16600281111561170457fe5b1415611717576116e68160115484611d58565b6002600e5460ff16600281111561172a57fe5b14156117bc5760006117476012548561183990919063ffffffff16565b905060006117608460115461183990919063ffffffff16565b905080831015611782576117778360125487611da1565b9850600295506117b9565b8083141561179657819850600095506117b9565b6117b26107166117ac858463ffffffff61183916565b86611d10565b9850600195505b50505b5091939550919395565b6000826117d557506000610bfa565b828202828482816117e257fe5b04146118005760405162461bcd60e51b81526004016105d390612800565b9392505050565b60008082116118285760405162461bcd60e51b81526004016105d3906125ac565b81838161183157fe5b049392505050565b60008282111561185b5760405162461bcd60e51b81526004016105d39061260b565b50900390565b6000670de0b6b3a764000061187c848463ffffffff6117c616565b8161183157fe5b6000828201838110156118005760405162461bcd60e51b81526004016105d39061272c565b6008546118c5906001600160a01b0316838363ffffffff611ba716565b6011546118d8908263ffffffff61183916565b6011555050565b6009546118fc906001600160a01b0316838363ffffffff611ba716565b60125461190f908263ffffffff61183916565b6012555050565b60055460125461192c908363ffffffff61188316565b111561194a5760405162461bcd60e51b81526004016105d390612540565b600954611968906001600160a01b031683308463ffffffff611de516565b60125461190f908263ffffffff61188316565b60105461198e908263ffffffff61188316565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906119c49083906000906128d4565b60405180910390a150565b6000611800826106a085670de0b6b3a764000063ffffffff6117c616565b6000806000806000806119fe6115b2565b92509050866000600e5460ff166002811115611a1657fe5b1415611a3157611a268184611e0c565b965060029350611afa565b6001600e5460ff166002811115611a4457fe5b1415611ae6576000611a616011548461183990919063ffffffff16565b90506000611a7a8560125461183990919063ffffffff16565b905081831015611aa857611a918360115486611e46565b98506001955080891115611aa3578098505b611adf565b81831415611abc5780985060009550611adf565b611ad8610734611ad2858563ffffffff61183916565b87611e0c565b9850600295505b5050611afa565b611af38160125485611e66565b9650600293505b611b0687600b54611861565b9550611b1487600c54611861565b9450611b3685611b2a898963ffffffff61183916565b9063ffffffff61183916565b96505091939550919395565b600454601154611b58908363ffffffff61188316565b1115611b765760405162461bcd60e51b81526004016105d3906125d4565b600854611b94906001600160a01b031683308463ffffffff611de516565b6011546118d8908263ffffffff61188316565b611bfd8363a9059cbb60e01b8484604051602401611bc692919061240d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e96565b505050565b600f54611c15908263ffffffff61188316565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906119c49083906001906128d4565b600080611c65600f5460115461183990919063ffffffff16565b90506000611c71610b34565b90506000611c7f8383611861565b90506000611c92601254600d5484611f4d565b9050611ca96012548261183990919063ffffffff16565b94505050505090565b600080611ccc60105460125461183990919063ffffffff16565b90506000611cd8610b34565b90506000611ce683836119cf565b90506000611cf9601154600d5484611f4d565b9050611ca96011548261183990919063ffffffff16565b6000818310611d315760405162461bcd60e51b81526004016105d39061262e565b6000611d43838563ffffffff61183916565b9050611d50838483611ff2565b949350505050565b6000828410611d795760405162461bcd60e51b81526004016105d39061262e565b6000611d8b848663ffffffff61183916565b9050611d98838583611ff2565b95945050505050565b600080611dac610b34565b90506000611dc98486611dbf858a61200e565b6001600d54612038565b9050611ddb818663ffffffff61183916565b9695505050505050565b611e06846323b872dd60e01b858585604051602401611bc693929190612426565b50505050565b600080611e17610b34565b90506000611e348485611e2a8589611861565b6000600d54612038565b9050611d98848263ffffffff61183916565b600080611e59848663ffffffff61188316565b9050611d98838286611ff2565b600080611e71610b34565b90506000611e848486611e2a858a611861565b9050611ddb858263ffffffff61183916565b60006060836001600160a01b031683604051611eb291906123c0565b6000604051808303816000865af19150503d8060008114611eef576040519150601f19603f3d011682016040523d82523d6000602084013e611ef4565b606091505b509150915081611f165760405162461bcd60e51b81526004016105d390612577565b805115611e065780806020019051810190611f3191906122f3565b611e065760405162461bcd60e51b81526004016105d39061274f565b600080611f74611f6e6004611f628787611861565b9063ffffffff6117c616565b866121a0565b9050611f9a611f95670de0b6b3a7640000611f62848263ffffffff61188316565b6121be565b90506000611fcf611fb983670de0b6b3a764000063ffffffff61183916565b611fca87600263ffffffff6117c616565b6121a0565b9050611ddb86611fed670de0b6b3a76400008463ffffffff61188316565b611861565b600080611ffd610b34565b9050611d9885858584600d546121f5565b6000611800670de0b6b3a764000061202c858563ffffffff6117c616565b9063ffffffff61226a16565b60008061204d866106a089611f62878c611861565b9050600061207261206c670de0b6b3a76400008663ffffffff61183916565b88611861565b9050600185156120935761208c828863ffffffff61188316565b91506120a6565b6120a3838863ffffffff61188316565b92505b8282106120c8576120bd828463ffffffff61183916565b9150600190506120df565b6120d8838363ffffffff61183916565b9150600090505b600061210f6121016004611f62670de0b6b3a76400008a63ffffffff61183916565b611fed8c611f628a8f611861565b9050612128611f9582611463868063ffffffff6117c616565b905060006121496002611f62670de0b6b3a76400008a63ffffffff61183916565b90506000831561216a57612163858463ffffffff61188316565b905061217d565b61217a838663ffffffff61183916565b90505b881561219a5761218d81836119cf565b9650505050505050611d98565b61218d81835b60006118008261202c85670de0b6b3a764000063ffffffff6117c616565b80600160028204015b818110156121ef578091506002818285816121de57fe5b0401816121e757fe5b0490506121c7565b50919050565b60008061220c84611fed888863ffffffff61183916565b9050600061222d612227886106a08b8063ffffffff6117c616565b876121a0565b9050600061223b8583611861565b905061225d83611fed83611463670de0b6b3a76400008a63ffffffff61183916565b9998505050505050505050565b6000806122778484611807565b90508281028403801561228f57506001019050610bfa565b509050610bfa565b80356001600160a01b0381168114610bfa57600080fd5b6000602082840312156122bf578081fd5b6118008383612297565b600080604083850312156122db578081fd5b6122e58484612297565b946020939093013593505050565b600060208284031215612304578081fd5b81518015158114611800578182fd5b600060208284031215612324578081fd5b5035919050565b60006020828403121561233c578081fd5b5051919050565b60008060008060608587031215612358578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561237d578384fd5b81870188601f82011261238e578485fd5b803592508183111561239e578485fd5b8860208483010111156123af578485fd5b959894975050602090940194505050565b60008251815b818110156123e057602081860181015185830152016123c6565b818111156123ee5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b6000861515825285602083015284604083015260806060830152826080830152828460a084013781830160a090810191909152601f909201601f19160101949350505050565b60208101600383106124b957fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b602080825260119082015270151490511157d393d517d0531313d5d151607a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b60208082526013908201527214d15313125391d7d393d517d0531313d5d151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601c908201527f53454c4c5f424153455f524543454956455f4e4f545f454e4f55474800000000604082015260600190565b602080825260169082015275084aab2be8482a68abe869ea6a8bea89e9ebe9aaa86960531b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b60208082526010908201526f11d054d7d4149250d157d15610d1515160821b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b602080825260129082015271109556525391d7d393d517d0531313d5d15160721b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fea26469706673582212207a4c255481018edf84fe613b9725b4a42410b40e0027c90d542b6341c231f00264736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "547:9374:28:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "547:9374:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2949:133:27;;;:::i;:::-;;;;;;;;;;;;;;;;2006:43;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;1604:31::-;;;:::i;:::-;;;;;;;;4680:175:28;;;;;;;;;:::i;3873:1392:26:-;;;:::i;:::-;;1688:42:27;;;:::i;3243:135::-;;;:::i;2545:161:26:-;;;;;;;;;:::i;1202:27:27:-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;3433:87:27:-;;;:::i;2808:1006:26:-;;;:::i;2055:41:27:-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;2796:147::-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;1477:1499:28:-;;;;;;;;;:::i;1036:29:27:-;;;:::i;1071:35::-;;;:::i;4485:189:28:-;;;;;;;;;:::i;1002:28:27:-;;;:::i;839:34::-;;;:::i;1511:28::-;;;:::i;1849:36::-;;;:::i;1641:41::-;;;:::i;1545:28::-;;;:::i;5324:581:26:-;;;;;;;;;:::i;798:35:27:-;;;:::i;1957:43::-;;;:::i;1385:28::-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;2982:1447:28:-;;;;;;;;;:::i;1736:29:27:-;;;:::i;1579:18::-;;;:::i;2381:158:26:-;;;;;;;;;:::i;5504:799:25:-;;;:::i;737:220:37:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;4819:679:25:-;;;:::i;:::-;;;;;;;;;2949:133:27;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;;:::o;2006:43::-;;;;:::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;1604:31::-;;;;;;:::o;4680:175:28:-;4746:16;4797:26;4816:6;4797:18;:26::i;:::-;-1:-1:-1;4774:49:28;;4680:175;-1:-1:-1;;;;;;4680:175:28:o;3873:1392:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;3940:8:26;::::1;548:16:39::0;3940:8:26::1;3932:36;;;;-1:-1:-1::0;;;3932:36:26::1;;;;;;;;;3997:10;3987:21;::::0;;;:9:::1;:21;::::0;;;;;::::1;;3986:22;3978:50;;;;-1:-1:-1::0;;;3978:50:26::1;;;;;;;;;4048:10;4038:21;::::0;;;:9:::1;:21;::::0;;;;:28;;-1:-1:-1;;4038:28:26::1;4062:4;4038:28;::::0;;:21;4100:36:::1;::::0;:24:::1;:36::i;:::-;4077:59;;4146:19;4168:35;4192:10;4168:23;:35::i;:::-;4146:57:::0;-1:-1:-1;4214:19:26::1;4251:16:::0;;4247:134:::1;;4297:73;4347:22;:20;:22::i;:::-;4297:27;::::0;:45:::1;::::0;4329:12;4297:45:::1;:31;:45;:::i;:::-;:49:::0;:73:::1;:49;:73;:::i;:::-;4283:87;;4247:134;4390:18;4426:15:::0;;4422:129:::1;;4470:70;4518:21;:19;:21::i;:::-;4470:26;::::0;:43:::1;::::0;4501:11;4470:43:::1;:30;:43;:::i;:70::-;4457:83;;4422:129;4591:27;::::0;:44:::1;::::0;4623:11;4591:44:::1;:31;:44;:::i;:::-;4561:27;:74:::0;4674:26:::1;::::0;:42:::1;::::0;4705:10;4674:42:::1;:30;:42;:::i;:::-;4645:26;:71;;;;4741:75;4757:58;4773:11;4786:28;;4757:15;:58::i;:::-;4741:11:::0;;:75:::1;:15;:75;:::i;:::-;4727:89;;4839:75;4854:59;4870:12;4884:28;;4854:15;:59::i;:::-;4839:10:::0;;:75:::1;:14;:75;:::i;:::-;4826:88;;4925:45;4947:10;4959;4925:21;:45::i;:::-;4980:47;5003:10;5015:11;4980:22;:47::i;:::-;5051:20;::::0;5038:64:::1;::::0;-1:-1:-1;;;5038:64:26;;-1:-1:-1;;;;;5051:20:26;;::::1;::::0;5038:39:::1;::::0;:64:::1;::::0;5078:10:::1;::::0;5090:11;;5038:64:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5125:21:26::1;::::0;5112:66:::1;::::0;-1:-1:-1;;;5112:66:26;;-1:-1:-1;;;;;5125:21:26;;::::1;::::0;-1:-1:-1;5112:40:26::1;::::0;-1:-1:-1;5112:66:26::1;::::0;5153:10:::1;::::0;5165:12;;5112:66:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5206:10;-1:-1:-1::0;;;;;5194:48:26::1;;5218:10;5230:11;5194:48;;;;;;;;;;;;;;;;5252:7;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3873:1392:26:o;1688:42:27:-;;;;:::o;3243:135::-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;2545:161:26;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2623:41:26::1;2645:10;2657:6:::0;2623:21:::1;:41::i;:::-;2674:25;2692:6;2674:17;:25::i;:::-;-1:-1:-1::0;585:9:39;:17;;-1:-1:-1;;;;585:17:39;;;2545:161:26:o;1202:27:27:-;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;2808:1006:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2885:4:26::2;2874:15:::0;;-1:-1:-1;;;;;;;;2874:15:26;;::::2;-1:-1:-1::0;;;2874:15:26::2;2980:23:::0;;;2874:15;3040:21:::2;:19;:21::i;:::-;3013:48;;3071:25;3099:22;:20;:22::i;:::-;3071:50;;3154:27;;3136:15;;:45;3132:316;;;3197:18;3218:48;3238:27;;3218:15;;:19;;:48;;;;:::i;:::-;3197:69;;3311:50;3332:10;3344:16;3311:20;:50::i;:::-;3280:28;:81:::0;-1:-1:-1;3132:316:26::2;;;3422:15;::::0;3392:27:::2;:45:::0;3132:316:::2;3479:26;;3462:14;;:43;3458:309;;;3521:17;3541:46;3560:26;;3541:14;;:18;;:46;;;;:::i;:::-;3521:66;;3632:50;3653:9;3664:17;3632:20;:50::i;:::-;3601:28;:81:::0;-1:-1:-1;3458:309:26::2;;;3742:14;::::0;3713:26:::2;:43:::0;3458:309:::2;-1:-1:-1::0;;3777:10:26::2;:30:::0;;-1:-1:-1;;3777:30:26::2;::::0;;2808:1006::o;2055:41:27:-;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;2796:147;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2881:55;2796:147;-1:-1:-1;;2796:147:27:o;1771:30::-;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;1477:1499:28:-;1031:15;;1669:7;;-1:-1:-1;;;1031:15:28;;;;1023:45;;;;-1:-1:-1;;;1023:45:28;;;;;;;;;1242:17:::1;::::0;::::1;::::0;::::1;;;1234:49;;;;-1:-1:-1::0;;;1234:49:28::1;;;;;;;;;1365:17:::2;;1350:11;:32;;1342:61;;;;-1:-1:-1::0;;;1342:61:28::2;;;;;;;;;515:9:39::3;::::0;-1:-1:-1;;;515:9:39;::::3;;;514:10;506:32;;;;-1:-1:-1::0;;;506:32:39::3;;;;;;;;;560:4;548:16:::0;;-1:-1:-1;;;;548:16:39::3;-1:-1:-1::0;;;548:16:39::3;::::0;;;;;;;;1931:27:28::4;1951:6:::0;1931:19:::4;:27::i;:::-;1711:247;;;;;;;;;;;;1992:15;1976:12;:31;;1968:72;;;;-1:-1:-1::0;;;1968:72:28::4;;;;;;;;;2076:48;2099:10;2111:12;2076:22;:48::i;:::-;2138:15:::0;;2134:113:::4;;2169:67;::::0;-1:-1:-1;;;2169:67:28;;2181:10:::4;::::0;2169:32:::4;::::0;:67:::4;::::0;2202:5:::4;::::0;2209:6;;2217:12;;2231:4;;;;2169:67:::4;;;;;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;2134:113;2256:40;2277:10;2289:6;2256:20;:40::i;:::-;2310:15:::0;;2306:165:::4;;2364:12;::::0;2341:48:::4;::::0;-1:-1:-1;;;;;2364:12:28::4;2378:10:::0;2341:22:::4;:48::i;:::-;2428:12;::::0;2408:52:::4;::::0;-1:-1:-1;;;;;2428:12:28;;::::4;::::0;2408:52:::4;::::0;::::4;::::0;2428:12:::4;::::0;2449:10;;2408:52:::4;;;;;;;;;;2306:165;2541:14;2510:27;;:45;2506:120;;2571:27;:44:::0;;;2506:120:::4;2669:13;2639:26;;:43;2635:116;;2698:26;:42:::0;;;2635:116:::4;2778:10;2764:24;;;;;;;;:10;::::0;::::4;;:24;::::0;::::4;;;;;;;2760:78;;2804:10;:23:::0;;2817:10;;2804;-1:-1:-1;;2804:23:28::4;::::0;2817:10;2804:23:::4;::::0;::::4;;;;;;;;;;;2760:78;2848:29;2866:10;2848:17;:29::i;:::-;2906:10;-1:-1:-1::0;;;;;2892:47:28::4;;2918:6;2926:12;2892:47;;;;;;;;;;;;;;;;-1:-1:-1::0;;585:9:39::3;:17:::0;;-1:-1:-1;;;;585:17:39::3;::::0;;-1:-1:-1;2957:12:28;;1477:1499;-1:-1:-1;;;;;;;1477:1499:28:o;1036:29:27:-;;;;;;;;;:::o;1071:35::-;;;;:::o;4485:189:28:-;4552:20;4611:27;4631:6;4611:19;:27::i;1002:28:27:-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;1511:28::-;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;1641:41::-;;;;:::o;1545:28::-;;;;:::o;5324:581:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;5415:12:26::1;::::0;-1:-1:-1;;;;;5406:21:26;;::::1;5415:12:::0;::::1;5406:21;5402:214;;;5517:14;::::0;:26:::1;::::0;5536:6;5517:26:::1;:18;:26;:::i;:::-;5475:12;::::0;5468:45:::1;::::0;-1:-1:-1;;;5468:45:26;;-1:-1:-1;;;;;5475:12:26;;::::1;::::0;5468:30:::1;::::0;:45:::1;::::0;5507:4:::1;::::0;5468:45:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;5443:162;;;;-1:-1:-1::0;;;5443:162:26::1;;;;;;;;;5638:13;::::0;-1:-1:-1;;;;;5629:22:26;;::::1;5638:13:::0;::::1;5629:22;5625:218;;;5742:15;::::0;:27:::1;::::0;5762:6;5742:27:::1;:19;:27;:::i;:::-;5699:13;::::0;5692:46:::1;::::0;-1:-1:-1;;;5692:46:26;;-1:-1:-1;;;;;5699:13:26;;::::1;::::0;5692:31:::1;::::0;:46:::1;::::0;5732:4:::1;::::0;5692:46:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:77;;5667:165;;;;-1:-1:-1::0;;;5667:165:26::1;;;;;;;;;5852:46;-1:-1:-1::0;;;;;5852:26:26;::::1;5879:10;5891:6:::0;5852:46:::1;:26;:46;:::i;:::-;5324:581:::0;;:::o;798:35:27:-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;1385:28::-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;2982:1447:28:-;1031:15;;3168:7;;-1:-1:-1;;;1031:15:28;;;;1023:45;;;;-1:-1:-1;;;1023:45:28;;;;;;;;;1135:16:::1;::::0;::::1;;1127:47;;;;-1:-1:-1::0;;;1127:47:28::1;;;;;;;;;1365:17:::2;;1350:11;:32;;1342:61;;;;-1:-1:-1::0;;;1342:61:28::2;;;;;;;;;515:9:39::3;::::0;-1:-1:-1;;;515:9:39;::::3;;;514:10;506:32;;;;-1:-1:-1::0;;;506:32:39::3;;;;;;;;;560:4;548:16:::0;;-1:-1:-1;;;;548:16:39::3;-1:-1:-1::0;;;548:16:39::3;::::0;;;;;;;;3424:26:28::4;3443:6:::0;3424:18:::4;:26::i;:::-;3210:240;;;;;;;;;;;;3480:11;3468:8;:23;;3460:58;;;;-1:-1:-1::0;;;3460:58:28::4;;;;;;;;;3554:41;3576:10;3588:6;3554:21;:41::i;:::-;3609:15:::0;;3605:108:::4;;3640:62;::::0;-1:-1:-1;;;3640:62:28;;3652:10:::4;::::0;3640:32:::4;::::0;:62:::4;::::0;3673:4:::4;::::0;3679:6;;3687:8;;3697:4;;;;3640:62:::4;;;;;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;3605:108;3722:43;3744:10;3756:8;3722:21;:43::i;:::-;3779:14:::0;;3775:160:::4;;3831:12;::::0;3809:46:::4;::::0;-1:-1:-1;;;;;3831:12:28::4;3845:9:::0;3809:21:::4;:46::i;:::-;3894:12;::::0;3874:50:::4;::::0;-1:-1:-1;;;;;3894:12:28;;::::4;::::0;3874:50:::4;::::0;::::4;::::0;3894:12;;3914:9;;3874:50:::4;;;;;;;;;;3775:160;4005:14;3974:27;;:45;3970:120;;4035:27;:44:::0;;;3970:120:::4;4133:13;4103:26;;:43;4099:116;;4162:26;:42:::0;;;4099:116:::4;4242:10;4228:24;;;;;;;;:10;::::0;::::4;;:24;::::0;::::4;;;;;;;4224:78;;4268:10;:23:::0;;4281:10;;4268;-1:-1:-1;;4268:23:28::4;::::0;4281:10;4268:23:::4;::::0;::::4;;;;;;;;;;;4224:78;4312:27;4329:9;4312:16;:27::i;:::-;4367:10;-1:-1:-1::0;;;;;4354:42:28::4;;4379:6;4387:8;4354:42;;;;;;;;1736:29:27::0;;;;:::o;1579:18::-;;;;:::o;2381:158:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2458:40:26::1;2479:10;2491:6:::0;2458:20:::1;:40::i;:::-;2508:24;2525:6;2508:16;:24::i;5504:799:25:-:0;5548:16;5577:18;5597:19;5620;:17;:19::i;:::-;5576:63;;-1:-1:-1;5576:63:25;-1:-1:-1;5667:23:25;5653:10;;;;:37;;;;;;;;;5649:648;;;5706:9;5718:134;5756:49;5789:15;;5756:28;5772:11;5756;:15;;:28;;;;:::i;:49::-;5823:15;;5718:20;:134::i;:::-;5706:146;;5870:53;5899:23;5915:3;;5920:1;5899:15;:23::i;:::-;5890:3;;5870:24;;379:6:36;;5870:24:25;:19;:24;:::i;:::-;:28;:53;:28;:53;:::i;:::-;5866:57;;5944:41;5965:16;:14;:16::i;:::-;5983:1;5944:20;:41::i;:::-;5937:48;;;;;;;5649:648;6016:9;6028:130;6066:46;6097:14;;6066:26;6081:10;6066;:14;;:26;;;;:::i;:46::-;6130:14;;6028:20;:130::i;:::-;6016:142;;6176:53;6205:23;6221:3;;6226:1;6205:15;:23::i;6176:53::-;6172:57;;6250:36;6266:16;:14;:16::i;:::-;6284:1;6250:15;:36::i;737:220:37:-;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;4819:679:25;4932:15;;4969:14;;4869:18;;;;;4997:10;;;;:31;;;;;;;;;4993:499;;;5052:26;;5080:27;;5044:64;;;;;;;;4993:499;5143:23;5129:10;;;;:37;;;;;;;;;5125:367;;;5182:21;5206:18;:16;:18::i;:::-;5246:26;;5182:42;;-1:-1:-1;5274:20:25;:1;5182:42;5274:20;:5;:20;:::i;:::-;5238:57;;;;;;;;;5125:367;5330:23;5316:10;;;;:37;;;;;;;;;5312:180;;;5369:20;5392:18;:16;:18::i;:::-;5369:41;-1:-1:-1;5432:19:25;:1;5369:41;5432:19;:5;:19;:::i;:::-;5453:27;;5424:57;;;;;;;;;5312:180;4819:679;;;;;:::o;7611:2308:28:-;7715:16;7745:17;7776;7807:24;7845:22;7881:21;7961:19;:17;:19::i;:::-;7927:53;;;;;;;;8050:38;8066:6;8074:13;;8050:15;:38::i;:::-;8038:50;;8110:38;8126:6;8134:13;;8110:15;:38::i;:::-;8098:50;-1:-1:-1;8158:21:28;8182:36;8098:50;8182:21;:6;8193:9;8182:21;:10;:21;:::i;:36::-;8158:60;-1:-1:-1;8247:17:28;8233:10;;;;:31;;;;;;;;;8229:1591;;;8318:47;8336:13;8351;8318:17;:47::i;:::-;8307:58;;8392:23;8379:36;;8229:1591;;;8450:23;8436:10;;;;:37;;;;;;;;;8432:1388;;;8527:65;8547:13;8562:14;;8578:13;8527:19;:65::i;8432:1388::-;8677:23;8663:10;;;;:37;;;;;;;;;8659:1161;;;8716:25;8744:35;8763:15;;8744:14;:18;;:35;;;;:::i;:::-;8716:63;;8793:28;8824:33;8843:13;8824:14;;:18;;:33;;;;:::i;:::-;8793:64;;8967:20;8951:13;:36;8947:863;;;9166:67;9186:13;9201:15;;9218:14;9166:19;:67::i;:::-;9155:78;;9264:23;9251:36;;8947:863;;;9329:20;9312:13;:37;9308:502;;;9433:17;9422:28;;9481:17;9468:30;;9308:502;;;9607:134;9650:73;9668:39;:13;9686:20;9668:39;:17;:39;:::i;:::-;9709:13;9650:17;:73::i;9607:134::-;9596:145;;9772:23;9759:36;;9308:502;8659:1161;;;-1:-1:-1;7611:2308:28;;;;;;;:::o;281:217:41:-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;;490:1;281:217;-1:-1:-1;;;281:217:41:o;504:138::-;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;934:134::-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;1074:157:41;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;1574:183:26;1659:12;;1652:45;;-1:-1:-1;;;;;1659:12:26;1686:2;1690:6;1652:45;:33;:45;:::i;:::-;1724:14;;:26;;1743:6;1724:26;:18;:26;:::i;:::-;1707:14;:43;-1:-1:-1;;1574:183:26:o;1763:187::-;1849:13;;1842:46;;-1:-1:-1;;;;;1849:13:26;1877:2;1881:6;1842:46;:34;:46;:::i;:::-;1916:15;;:27;;1936:6;1916:27;:19;:27;:::i;:::-;1898:15;:45;-1:-1:-1;;1763:187:26:o;1222:346::-;1354:21;;1323:15;;:27;;1343:6;1323:27;:19;:27;:::i;:::-;:52;;1302:127;;;;-1:-1:-1;;;1302:127:26;;;;;;;;;1446:13;;1439:67;;-1:-1:-1;;;;;1446:13:26;1478:4;1492;1499:6;1439:67;:38;:67;:::i;:::-;1534:15;;:27;;1554:6;1534:27;:19;:27;:::i;2201:174::-;2293:27;;:39;;2325:6;2293:39;:31;:39;:::i;:::-;2263:27;:69;2347:21;;;;;;2354:6;;2362:5;;2347:21;;;;;;;;;;2201:174;:::o;645:123:36:-;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;4861:2744:28:-;4966:20;5000:18;5032;5064:24;5102:22;5138:21;5218:19;:17;:19::i;:::-;5184:53;-1:-1:-1;5184:53:28;-1:-1:-1;5273:6:28;5248:22;5294:10;;;;:31;;;;;;;;;5290:1984;;;5416:50;5435:14;5451;5416:18;:50::i;:::-;5401:65;;5493:23;5480:36;;5290:1984;;;5551:23;5537:10;;;;:37;;;;;;;;;5533:1741;;;5590:24;5617:33;5635:14;;5617:13;:17;;:33;;;;:::i;:::-;5590:60;;5664:29;5696:35;5716:14;5696:15;;:19;;:35;;;;:::i;:::-;5664:67;;5857:16;5840:14;:33;5836:1183;;;5960:67;5981:14;5997;;6013:13;5960:20;:67::i;:::-;5945:82;;6058:23;6045:36;;6118:21;6103:12;:36;6099:386;;;6445:21;6430:36;;6099:386;5836:1183;;;6527:16;6509:14;:34;6505:514;;;6631:21;6616:36;;6683:17;6670:30;;6505:514;;;6813:137;6860:72;6879:36;:14;6898:16;6879:36;:18;:36;:::i;:::-;6917:14;6860:18;:72::i;6813:137::-;6798:152;;6981:23;6968:36;;6505:514;5533:1741;;;;;7144:69;7165:14;7181:15;;7198:14;7144:20;:69::i;:::-;7129:84;;7240:23;7227:36;;5533:1741;7319:44;7335:12;7349:13;;7319:15;:44::i;:::-;7306:57;;7386:44;7402:12;7416:13;;7386:15;:44::i;:::-;7373:57;-1:-1:-1;7455:44:28;7373:57;7455:28;:12;7472:10;7455:28;:16;:28;:::i;:::-;:32;:44;:32;:44;:::i;:::-;7440:59;-1:-1:-1;;4861:2744:28;;;;;;;:::o;911:305:26:-;1028:20;;998:14;;:26;;1017:6;998:26;:18;:26;:::i;:::-;:50;;990:90;;;;-1:-1:-1;;;990:90:26;;;;;;;;;1097:12;;1090:66;;-1:-1:-1;;;;;1097:12:26;1128:4;1142;1149:6;1090:66;:37;:66;:::i;:::-;1183:14;;:26;;1202:6;1183:26;:18;:26;:::i;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;2025:170:26:-;2115:26;;:38;;2146:6;2115:38;:30;:38;:::i;:::-;2086:26;:67;2168:20;;;;;;2175:6;;2183:4;;2168:20;;2736:578:25;2787:21;2927:17;2947:46;2966:26;;2947:14;;:18;;:46;;;;:::i;:::-;2927:66;;3003:13;3019:16;:14;:16::i;:::-;3003:32;;3045:18;3066:33;3082:9;3093:5;3066:15;:33::i;:::-;3045:54;;3109:22;3134:121;3189:15;;3218:3;;3235:10;3134:41;:121::i;:::-;3109:146;;3272:35;3291:15;;3272:14;:18;;:35;;;;:::i;:::-;3265:42;;;;;;2736:578;:::o;4180:582::-;4231:20;4370:18;4391:48;4411:27;;4391:15;;:19;;:48;;;;:::i;:::-;4370:69;;4449:13;4465:16;:14;:16::i;:::-;4449:32;;4491:18;4512:39;4533:10;4545:5;4512:20;:39::i;:::-;4491:60;;4561:21;4585:120;4640:14;;4668:3;;4685:10;4585:41;:120::i;:::-;4561:144;;4722:33;4740:14;;4722:13;:17;;:33;;;;:::i;1183:414::-;1304:21;1358;1349:6;:30;1341:71;;;;-1:-1:-1;;;1341:71:25;;;;;;;;;1422:10;1435:33;:21;1461:6;1435:33;:25;:33;:::i;:::-;1422:46;;1494:66;1511:21;1534;1557:2;1494:16;:66::i;:::-;1478:82;1183:414;-1:-1:-1;;;;1183:414:25:o;3366:360::-;3511:21;3561:11;3552:6;:20;3544:61;;;;-1:-1:-1;;;3544:61:25;;;;;;;;;3615:10;3628:23;:11;3644:6;3628:23;:15;:23;:::i;:::-;3615:36;;3668:51;3685:16;3703:11;3716:2;3668:16;:51::i;:::-;3661:58;3366:360;-1:-1:-1;;;;;3366:360:25:o;2117:613::-;2264:21;2449:9;2461:16;:14;:16::i;:::-;2449:28;;2487:10;2500:186;2554:17;2585:12;2611:30;2631:1;2634:6;2611:19;:30::i;:::-;2655:4;2673:3;;2500:40;:186::i;:::-;2487:199;-1:-1:-1;2703:20:25;2487:199;2710:12;2703:20;:6;:20;:::i;:::-;2696:27;2117:613;-1:-1:-1;;;;;;2117:613:25:o;1015:275:40:-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;1153:130;1015:275;;;;:::o;557:620:25:-;680:25;721:9;733:16;:14;:16::i;:::-;721:28;;759:10;772:198;826:22;862;898:26;914:1;917:6;898:15;:26::i;:::-;938:5;957:3;;772:40;:198::i;:::-;759:211;-1:-1:-1;1140:30:25;:22;759:211;1140:30;:26;:30;:::i;3732:442::-;3878:25;;4076:23;:11;4092:6;4076:23;:15;:23;:::i;:::-;4063:36;;4116:51;4133:16;4151:2;4155:11;4116:16;:51::i;1649:462::-;1797:24;1833:9;1845:16;:14;:16::i;:::-;1833:28;;1871:10;1884:183;1938:17;1969:12;1995:26;2011:1;2014:6;1995:15;:26::i;1884:183::-;1871:196;-1:-1:-1;2084:20:25;:12;1871:196;2084:20;:16;:20;:::i;2335:1027:40:-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;3310:569:35;3448:10;3504:12;3519:62;3539:37;3574:1;3539:30;3555:1;3558:10;3539:15;:30::i;:::-;:34;:37;:34;:37;:::i;:::-;3578:2;3519:19;:62::i;:::-;3504:77;-1:-1:-1;3598:53:35;:46;379:6:36;3598:25:35;3504:77;379:6:36;3598:25:35;:8;:25;:::i;:46::-;:51;:53::i;:::-;3591:60;-1:-1:-1;3661:15:35;3679:56;3699:25;3591:60;379:6:36;3699:25:35;:8;:25;:::i;:::-;3726:8;:1;3732;3726:8;:5;:8;:::i;:::-;3679:19;:56::i;:::-;3661:74;-1:-1:-1;3823:49:35;3839:2;3843:28;379:6:36;3661:74:35;3843:28;:19;:28;:::i;:::-;3823:15;:49::i;6309:232:25:-;6424:7;6443:9;6455:16;:14;:16::i;:::-;6443:28;;6488:46;6515:2;6519;6523;6527:1;6530:3;;6488:26;:46::i;513:126:36:-;580:7;606:26;379:6;606:13;:6;617:1;606:13;:10;:13;:::i;:::-;:21;:26;:21;:26;:::i;1608:1507:35:-;1786:7;1885:14;1902:38;1937:2;1902:30;1929:2;1902:22;1918:1;1921:2;1902:15;:22::i;:38::-;1885:55;-1:-1:-1;1962:9:35;1974:43;1990:22;379:6:36;2010:1:35;1990:22;:19;:22;:::i;:::-;2014:2;1974:15;:43::i;:::-;1962:55;-1:-1:-1;2055:4:35;2069:158;;;;2102:14;:1;2108:7;2102:14;:5;:14;:::i;:::-;2098:18;;2069:158;;;2176:19;:6;2187:7;2176:19;:10;:19;:::i;:::-;2167:28;;2069:158;2245:6;2240:1;:11;2236:168;;2271:13;:1;2277:6;2271:13;:5;:13;:::i;:::-;2267:17;;2310:4;2298:16;;2236:168;;;2349:13;:6;2360:1;2349:13;:10;:13;:::i;:::-;2345:17;;2388:5;2376:17;;2236:168;2440:18;2461:112;2490:29;2517:1;2490:22;379:6:36;2510:1:35;2490:22;:19;:22;:::i;:29::-;2533:30;2560:2;2533:22;2549:1;2552:2;2533:15;:22::i;2461:112::-;2440:133;-1:-1:-1;2611:31:35;:24;2440:133;2611:8;2617:1;;2611:8;:5;:8;:::i;:31::-;2598:44;-1:-1:-1;2700:19:35;2722:29;2749:1;2722:22;379:6:36;2742:1:35;2722:22;:19;:22;:::i;:29::-;2700:51;;2771:17;2802:9;2798:129;;;2839:17;:1;2845:10;2839:17;:5;:17;:::i;:::-;2827:29;;2798:129;;;2899:17;:10;2914:1;2899:17;:14;:17;:::i;:::-;2887:29;;2798:129;2941:9;2937:172;;;2973:44;2994:9;3005:11;2973:20;:44::i;:::-;2966:51;;;;;;;;;;2937:172;3055:43;3075:9;3086:11;774:126:36;841:7;867:26;891:1;867:15;:6;379;867:15;:10;:15;:::i;1237:198:41:-;1318:1;1326;1322;1318:5;;:9;1352:77;1363:1;1359;:5;1352:77;;;1384:1;1380:5;;1417:1;1412;1408;1404;:5;;;;;;:9;1403:15;;;;;;1399:19;;1352:77;;;1237:198;;;;:::o;634:468:35:-;788:7;;828:30;844:1;847:10;:2;854;847:10;:6;:10;:::i;828:30::-;807:51;-1:-1:-1;879:16:35;898:43;918:18;933:2;918:10;925:2;;918:10;:6;:10;:::i;:18::-;938:2;898:19;:43::i;:::-;879:62;;951:15;969:28;985:1;988:8;969:15;:28::i;:::-;951:46;-1:-1:-1;1031:64:35;1047:10;1059:35;951:46;1059:22;379:6:36;1079:1:35;1059:22;:19;:22;:::i;1031:64::-;1024:71;634:468;-1:-1:-1;;;;;;;;;634:468:35:o;648:280:41:-;710:7;729:16;748:9;752:1;755;748:3;:9::i;:::-;729:28;-1:-1:-1;791:12:41;;;787:16;;817:13;;813:109;;-1:-1:-1;864:1:41;853:12;;-1:-1:-1;846:19:41;;813:109;-1:-1:-1;903:8:41;-1:-1:-1;896:15:41;;5:130:-1;72:20;;-1:-1;;;;;26601:54;;27970:35;;27960:2;;28019:1;;28009:12;913:241;;1017:2;1005:9;996:7;992:23;988:32;985:2;;;-1:-1;;1023:12;985:2;1085:53;1130:7;1106:22;1085:53;;1161:366;;;1282:2;1270:9;1261:7;1257:23;1253:32;1250:2;;;-1:-1;;1288:12;1250:2;1350:53;1395:7;1371:22;1350:53;;;1340:63;1440:2;1479:22;;;;702:20;;-1:-1;;;1244:283;1534:257;;1646:2;1634:9;1625:7;1621:23;1617:32;1614:2;;;-1:-1;;1652:12;1614:2;223:6;217:13;28116:5;26374:13;26367:21;28094:5;28091:32;28081:2;;-1:-1;;28127:12;1798:241;;1902:2;1890:9;1881:7;1877:23;1873:32;1870:2;;;-1:-1;;1908:12;1870:2;-1:-1;702:20;;1864:175;-1:-1;1864:175;2046:263;;2161:2;2149:9;2140:7;2136:23;2132:32;2129:2;;;-1:-1;;2167:12;2129:2;-1:-1;850:13;;2123:186;-1:-1;2123:186;2316:615;;;;;2473:2;2461:9;2452:7;2448:23;2444:32;2441:2;;;-1:-1;;2479:12;2441:2;715:6;702:20;2531:63;;2631:2;2674:9;2670:22;702:20;2639:63;;2767:2;2756:9;2752:18;2739:32;2791:18;;2783:6;2780:30;2777:2;;;-1:-1;;2813:12;2777:2;2898:6;2887:9;2883:22;405:3;398:4;390:6;386:17;382:27;372:2;;-1:-1;;413:12;372:2;456:6;443:20;433:30;;2791:18;475:6;472:30;469:2;;;-1:-1;;505:12;469:2;600:3;2631:2;580:17;541:6;566:32;;563:41;560:2;;;-1:-1;;607:12;560:2;2435:496;;;;-1:-1;;2631:2;537:17;;;;-1:-1;;;2435:496;11855:271;;3806:5;25673:12;-1:-1;27491:101;27505:6;27502:1;27499:13;27491:101;;;3950:4;27572:11;;;;;27566:18;27553:11;;;27546:39;27520:10;27491:101;;;27607:6;27604:1;27601:13;27598:2;;;-1:-1;27663:6;27658:3;27654:16;27647:27;27598:2;-1:-1;3981:16;;;;;11989:137;-1:-1;;11989:137;12133:222;-1:-1;;;;;26601:54;;;;3158:37;;12260:2;12245:18;;12231:124;12362:349;-1:-1;;;;;26601:54;;;;3017:58;;12697:2;12682:18;;11806:37;12525:2;12510:18;;12496:215;12718:444;-1:-1;;;;;26601:54;;;3158:37;;26601:54;;;;13065:2;13050:18;;3158:37;13148:2;13133:18;;11806:37;;;;12901:2;12886:18;;12872:290;13509:210;26374:13;;26367:21;3272:34;;13630:2;13615:18;;13601:118;13726:321;26374:13;;26367:21;3272:34;;14033:2;14018:18;;11806:37;13875:2;13860:18;;13846:201;14054:648;;3299:5;26374:13;26367:21;3279:3;3272:34;11836:5;14446:2;14435:9;14431:18;11806:37;11836:5;14529:2;14518:9;14514:18;11806:37;14287:3;14566:2;14555:9;14551:18;14544:48;25829:6;14287:3;14276:9;14272:19;25817;27346:6;27341:3;25857:14;14276:9;25857:14;27323:30;27384:16;;;25857:14;27384:16;;;27377:27;;;;27779:7;27763:14;;;-1:-1;;27759:28;3593:39;;;14258:444;-1:-1;;;;14258:444;14709:244;14847:2;14832:18;;27882:1;27872:12;;27862:2;;27888:9;27862:2;4091:61;;;14818:135;;14960:416;15160:2;15174:47;;;4389:2;15145:18;;;25817:19;4425:31;25857:14;;;4405:52;4476:12;;;15131:245;15383:416;15583:2;15597:47;;;4727:2;15568:18;;;25817:19;-1:-1;;;25857:14;;;4743:36;4798:12;;;15554:245;15806:416;16006:2;16020:47;;;5049:1;15991:18;;;25817:19;-1:-1;;;25857:14;;;5064:32;5115:12;;;15977:245;16229:416;16429:2;16443:47;;;5366:2;16414:18;;;25817:19;5402:30;25857:14;;;5382:51;5452:12;;;16400:245;16652:416;16852:2;16866:47;;;16837:18;;;25817:19;5739:34;25857:14;;;5719:55;5793:12;;;16823:245;17075:416;17275:2;17289:47;;;6044:2;17260:18;;;25817:19;-1:-1;;;25857:14;;;6060:37;6116:12;;;17246:245;17498:416;17698:2;17712:47;;;6367:2;17683:18;;;25817:19;6403:29;25857:14;;;6383:50;6452:12;;;17669:245;17921:416;18121:2;18135:47;;;6703:1;18106:18;;;25817:19;-1:-1;;;25857:14;;;6718:32;6769:12;;;18092:245;18344:416;18544:2;18558:47;;;7020:2;18529:18;;;25817:19;7056:30;25857:14;;;7036:51;7106:12;;;18515:245;18767:416;18967:2;18981:47;;;7357:2;18952:18;;;25817:19;-1:-1;;;25857:14;;;7373:40;7432:12;;;18938:245;19190:416;19390:2;19404:47;;;7683:2;19375:18;;;25817:19;-1:-1;;;25857:14;;;7699:36;7754:12;;;19361:245;19613:416;19813:2;19827:47;;;8005:2;19798:18;;;25817:19;-1:-1;;;25857:14;;;8021:34;8074:12;;;19784:245;20036:416;20236:2;20250:47;;;8325:2;20221:18;;;25817:19;-1:-1;;;25857:14;;;8341:42;8402:12;;;20207:245;20459:416;20659:2;20673:47;;;8653:1;20644:18;;;25817:19;-1:-1;;;25857:14;;;8668:32;8719:12;;;20630:245;20882:416;21082:2;21096:47;;;8970:1;21067:18;;;25817:19;-1:-1;;;25857:14;;;8985:32;9036:12;;;21053:245;21305:416;21505:2;21519:47;;;9287:2;21490:18;;;25817:19;9323:34;25857:14;;;9303:55;-1:-1;;;9378:12;;;9371:34;9424:12;;;21476:245;21728:416;21928:2;21942:47;;;9675:2;21913:18;;;25817:19;9711:30;25857:14;;;9691:51;9761:12;;;21899:245;22151:416;22351:2;22365:47;;;10012:2;22336:18;;;25817:19;-1:-1;;;25857:14;;;10028:45;10092:12;;;22322:245;22574:416;22774:2;22788:47;;;10343:1;22759:18;;;25817:19;-1:-1;;;25857:14;;;10358:32;10409:12;;;22745:245;22997:416;23197:2;23211:47;;;10660:2;23182:18;;;25817:19;-1:-1;;;25857:14;;;10676:39;10734:12;;;23168:245;23420:416;23620:2;23634:47;;;10985:2;23605:18;;;25817:19;-1:-1;;;25857:14;;;11001:38;11058:12;;;23591:245;23843:416;24043:2;24057:47;;;11309:2;24028:18;;;25817:19;-1:-1;;;25857:14;;;11325:38;11382:12;;;24014:245;24266:416;24466:2;24480:47;;;11633:2;24451:18;;;25817:19;-1:-1;;;25857:14;;;11649:41;11709:12;;;24437:245;24689:222;11806:37;;;24816:2;24801:18;;24787:124;24918:321;11806:37;;;26374:13;26367:21;25225:2;25210:18;;3272:34;25067:2;25052:18;;25038:201;25246:333;11806:37;;;25565:2;25550:18;;11806:37;25401:2;25386:18;;25372:207", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"../lib/SafeMath.sol\";\nimport {DecimalMath} from \"../lib/DecimalMath.sol\";\nimport {Types} from \"../lib/Types.sol\";\nimport {IDODOCallee} from \"../intf/IDODOCallee.sol\";\nimport {Storage} from \"./Storage.sol\";\nimport {Pricing} from \"./Pricing.sol\";\nimport {Settlement} from \"./Settlement.sol\";\n\n\n/**\n * @title Trader\n * @author DODO Breeder\n *\n * @notice Functions for trader operations\n */\ncontract Trader is Storage, Pricing, Settlement {\n using SafeMath for uint256;\n\n // ============ Events ============\n\n event SellBaseToken(address indexed seller, uint256 payBase, uint256 receiveQuote);\n\n event BuyBaseToken(address indexed buyer, uint256 receiveBase, uint256 payQuote);\n\n event ChargeMaintainerFee(address indexed maintainer, bool isBaseToken, uint256 amount);\n\n // ============ Modifiers ============\n\n modifier tradeAllowed() {\n require(_TRADE_ALLOWED_, \"TRADE_NOT_ALLOWED\");\n _;\n }\n\n modifier buyingAllowed() {\n require(_BUYING_ALLOWED_, \"BUYING_NOT_ALLOWED\");\n _;\n }\n\n modifier sellingAllowed() {\n require(_SELLING_ALLOWED_, \"SELLING_NOT_ALLOWED\");\n _;\n }\n\n modifier gasPriceLimit() {\n require(tx.gasprice <= _GAS_PRICE_LIMIT_, \"GAS_PRICE_EXCEED\");\n _;\n }\n\n // ============ Trade Functions ============\n\n function sellBaseToken(\n uint256 amount,\n uint256 minReceiveQuote,\n bytes calldata data\n ) external tradeAllowed sellingAllowed gasPriceLimit preventReentrant returns (uint256) {\n // query price\n (\n uint256 receiveQuote,\n uint256 lpFeeQuote,\n uint256 mtFeeQuote,\n Types.RStatus newRStatus,\n uint256 newQuoteTarget,\n uint256 newBaseTarget\n ) = _querySellBaseToken(amount);\n require(receiveQuote >= minReceiveQuote, \"SELL_BASE_RECEIVE_NOT_ENOUGH\");\n\n // settle assets\n _quoteTokenTransferOut(msg.sender, receiveQuote);\n if (data.length > 0) {\n IDODOCallee(msg.sender).dodoCall(false, amount, receiveQuote, data);\n }\n _baseTokenTransferIn(msg.sender, amount);\n if (mtFeeQuote != 0) {\n _quoteTokenTransferOut(_MAINTAINER_, mtFeeQuote);\n emit ChargeMaintainerFee(_MAINTAINER_, false, mtFeeQuote);\n }\n\n // update TARGET\n if (_TARGET_QUOTE_TOKEN_AMOUNT_ != newQuoteTarget) {\n _TARGET_QUOTE_TOKEN_AMOUNT_ = newQuoteTarget;\n }\n if (_TARGET_BASE_TOKEN_AMOUNT_ != newBaseTarget) {\n _TARGET_BASE_TOKEN_AMOUNT_ = newBaseTarget;\n }\n if (_R_STATUS_ != newRStatus) {\n _R_STATUS_ = newRStatus;\n }\n\n _donateQuoteToken(lpFeeQuote);\n emit SellBaseToken(msg.sender, amount, receiveQuote);\n\n return receiveQuote;\n }\n\n function buyBaseToken(\n uint256 amount,\n uint256 maxPayQuote,\n bytes calldata data\n ) external tradeAllowed buyingAllowed gasPriceLimit preventReentrant returns (uint256) {\n // query price\n (\n uint256 payQuote,\n uint256 lpFeeBase,\n uint256 mtFeeBase,\n Types.RStatus newRStatus,\n uint256 newQuoteTarget,\n uint256 newBaseTarget\n ) = _queryBuyBaseToken(amount);\n require(payQuote <= maxPayQuote, \"BUY_BASE_COST_TOO_MUCH\");\n\n // settle assets\n _baseTokenTransferOut(msg.sender, amount);\n if (data.length > 0) {\n IDODOCallee(msg.sender).dodoCall(true, amount, payQuote, data);\n }\n _quoteTokenTransferIn(msg.sender, payQuote);\n if (mtFeeBase != 0) {\n _baseTokenTransferOut(_MAINTAINER_, mtFeeBase);\n emit ChargeMaintainerFee(_MAINTAINER_, true, mtFeeBase);\n }\n\n // update TARGET\n if (_TARGET_QUOTE_TOKEN_AMOUNT_ != newQuoteTarget) {\n _TARGET_QUOTE_TOKEN_AMOUNT_ = newQuoteTarget;\n }\n if (_TARGET_BASE_TOKEN_AMOUNT_ != newBaseTarget) {\n _TARGET_BASE_TOKEN_AMOUNT_ = newBaseTarget;\n }\n if (_R_STATUS_ != newRStatus) {\n _R_STATUS_ = newRStatus;\n }\n\n _donateBaseToken(lpFeeBase);\n emit BuyBaseToken(msg.sender, amount, payQuote);\n\n return payQuote;\n }\n\n // ============ Query Functions ============\n\n function querySellBaseToken(uint256 amount) external view returns (uint256 receiveQuote) {\n (receiveQuote, , , , , ) = _querySellBaseToken(amount);\n return receiveQuote;\n }\n\n function queryBuyBaseToken(uint256 amount) external view returns (uint256 payQuote) {\n (payQuote, , , , , ) = _queryBuyBaseToken(amount);\n return payQuote;\n }\n\n function _querySellBaseToken(uint256 amount)\n internal\n view\n returns (\n uint256 receiveQuote,\n uint256 lpFeeQuote,\n uint256 mtFeeQuote,\n Types.RStatus newRStatus,\n uint256 newQuoteTarget,\n uint256 newBaseTarget\n )\n {\n (newBaseTarget, newQuoteTarget) = getExpectedTarget();\n\n uint256 sellBaseAmount = amount;\n\n if (_R_STATUS_ == Types.RStatus.ONE) {\n // case 1: R=1\n // R falls below one\n receiveQuote = _ROneSellBaseToken(sellBaseAmount, newQuoteTarget);\n newRStatus = Types.RStatus.BELOW_ONE;\n } else if (_R_STATUS_ == Types.RStatus.ABOVE_ONE) {\n uint256 backToOnePayBase = newBaseTarget.sub(_BASE_BALANCE_);\n uint256 backToOneReceiveQuote = _QUOTE_BALANCE_.sub(newQuoteTarget);\n // case 2: R>1\n // complex case, R status depends on trading amount\n if (sellBaseAmount < backToOnePayBase) {\n // case 2.1: R status do not change\n receiveQuote = _RAboveSellBaseToken(sellBaseAmount, _BASE_BALANCE_, newBaseTarget);\n newRStatus = Types.RStatus.ABOVE_ONE;\n if (receiveQuote > backToOneReceiveQuote) {\n // [Important corner case!] may enter this branch when some precision problem happens. And consequently contribute to negative spare quote amount\n // to make sure spare quote>=0, mannually set receiveQuote=backToOneReceiveQuote\n receiveQuote = backToOneReceiveQuote;\n }\n } else if (sellBaseAmount == backToOnePayBase) {\n // case 2.2: R status changes to ONE\n receiveQuote = backToOneReceiveQuote;\n newRStatus = Types.RStatus.ONE;\n } else {\n // case 2.3: R status changes to BELOW_ONE\n receiveQuote = backToOneReceiveQuote.add(\n _ROneSellBaseToken(sellBaseAmount.sub(backToOnePayBase), newQuoteTarget)\n );\n newRStatus = Types.RStatus.BELOW_ONE;\n }\n } else {\n // _R_STATUS_ == Types.RStatus.BELOW_ONE\n // case 3: R<1\n receiveQuote = _RBelowSellBaseToken(sellBaseAmount, _QUOTE_BALANCE_, newQuoteTarget);\n newRStatus = Types.RStatus.BELOW_ONE;\n }\n\n // count fees\n lpFeeQuote = DecimalMath.mul(receiveQuote, _LP_FEE_RATE_);\n mtFeeQuote = DecimalMath.mul(receiveQuote, _MT_FEE_RATE_);\n receiveQuote = receiveQuote.sub(lpFeeQuote).sub(mtFeeQuote);\n\n return (receiveQuote, lpFeeQuote, mtFeeQuote, newRStatus, newQuoteTarget, newBaseTarget);\n }\n\n function _queryBuyBaseToken(uint256 amount)\n internal\n view\n returns (\n uint256 payQuote,\n uint256 lpFeeBase,\n uint256 mtFeeBase,\n Types.RStatus newRStatus,\n uint256 newQuoteTarget,\n uint256 newBaseTarget\n )\n {\n (newBaseTarget, newQuoteTarget) = getExpectedTarget();\n\n // charge fee from user receive amount\n lpFeeBase = DecimalMath.mul(amount, _LP_FEE_RATE_);\n mtFeeBase = DecimalMath.mul(amount, _MT_FEE_RATE_);\n uint256 buyBaseAmount = amount.add(lpFeeBase).add(mtFeeBase);\n\n if (_R_STATUS_ == Types.RStatus.ONE) {\n // case 1: R=1\n payQuote = _ROneBuyBaseToken(buyBaseAmount, newBaseTarget);\n newRStatus = Types.RStatus.ABOVE_ONE;\n } else if (_R_STATUS_ == Types.RStatus.ABOVE_ONE) {\n // case 2: R>1\n payQuote = _RAboveBuyBaseToken(buyBaseAmount, _BASE_BALANCE_, newBaseTarget);\n newRStatus = Types.RStatus.ABOVE_ONE;\n } else if (_R_STATUS_ == Types.RStatus.BELOW_ONE) {\n uint256 backToOnePayQuote = newQuoteTarget.sub(_QUOTE_BALANCE_);\n uint256 backToOneReceiveBase = _BASE_BALANCE_.sub(newBaseTarget);\n // case 3: R<1\n // complex case, R status may change\n if (buyBaseAmount < backToOneReceiveBase) {\n // case 3.1: R status do not change\n // no need to check payQuote because spare base token must be greater than zero\n payQuote = _RBelowBuyBaseToken(buyBaseAmount, _QUOTE_BALANCE_, newQuoteTarget);\n newRStatus = Types.RStatus.BELOW_ONE;\n } else if (buyBaseAmount == backToOneReceiveBase) {\n // case 3.2: R status changes to ONE\n payQuote = backToOnePayQuote;\n newRStatus = Types.RStatus.ONE;\n } else {\n // case 3.3: R status changes to ABOVE_ONE\n payQuote = backToOnePayQuote.add(\n _ROneBuyBaseToken(buyBaseAmount.sub(backToOneReceiveBase), newBaseTarget)\n );\n newRStatus = Types.RStatus.ABOVE_ONE;\n }\n }\n\n return (payQuote, lpFeeBase, mtFeeBase, newRStatus, newQuoteTarget, newBaseTarget);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol", - "exportedSymbols": { - "Trader": [ - 10351 - ] - }, - "id": 10352, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9615, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:28" - }, - { - "id": 9616, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:28" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 9618, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 11624, - "src": "136:45:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9617, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 9620, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 11079, - "src": "182:51:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9619, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 9622, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 11632, - "src": "234:39:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9621, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:5:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol", - "file": "../intf/IDODOCallee.sol", - "id": 9624, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 10507, - "src": "274:52:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9623, - "name": "IDODOCallee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "282:11:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 9626, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 9614, - "src": "327:38:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9625, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "335:7:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "file": "./Pricing.sol", - "id": 9628, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 8854, - "src": "366:38:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9627, - "name": "Pricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "374:7:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "file": "./Settlement.sol", - "id": 9630, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 9397, - "src": "405:44:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9629, - "name": "Settlement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "413:10:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9632, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "566:7:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 9633, - "nodeType": "InheritanceSpecifier", - "src": "566:7:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9634, - "name": "Pricing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8853, - "src": "575:7:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pricing_$8853", - "typeString": "contract Pricing" - } - }, - "id": 9635, - "nodeType": "InheritanceSpecifier", - "src": "575:7:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9636, - "name": "Settlement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9396, - "src": "584:10:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - }, - "id": 9637, - "nodeType": "InheritanceSpecifier", - "src": "584:10:28" - } - ], - "contractDependencies": [ - 8853, - 9396, - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 9631, - "nodeType": "StructuredDocumentation", - "src": "452:94:28", - "text": " @title Trader\n @author DODO Breeder\n @notice Functions for trader operations" - }, - "fullyImplemented": true, - "id": 10351, - "linearizedBaseContracts": [ - 10351, - 9396, - 8853, - 9613, - 11296, - 11166 - ], - "name": "Trader", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 9640, - "libraryName": { - "contractScope": null, - "id": 9638, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "607:8:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "601:27:28", - "typeName": { - "id": 9639, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "620:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 9648, - "name": "SellBaseToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9642, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9648, - "src": "695:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9644, - "indexed": false, - "mutability": "mutable", - "name": "payBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9648, - "src": "719:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "719:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9646, - "indexed": false, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9648, - "src": "736:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "694:63:28" - }, - "src": "675:83:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 9656, - "name": "BuyBaseToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9650, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9656, - "src": "783:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "783:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9652, - "indexed": false, - "mutability": "mutable", - "name": "receiveBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9656, - "src": "806:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "806:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9654, - "indexed": false, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9656, - "src": "827:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "782:62:28" - }, - "src": "764:81:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 9664, - "name": "ChargeMaintainerFee", - "nodeType": "EventDefinition", - "parameters": { - "id": 9663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9658, - "indexed": true, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9664, - "src": "877:26:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9657, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "877:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9660, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9664, - "src": "905:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9659, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "905:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9662, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9664, - "src": "923:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "876:62:28" - }, - "src": "851:88:28" - }, - { - "body": { - "id": 9672, - "nodeType": "Block", - "src": "1013:73:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9667, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "1031:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54524144455f4e4f545f414c4c4f574544", - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1048:19:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a276537e38920b1f77c7c8c2b082f9b84306b71be306551ec925c75ea3b72343", - "typeString": "literal_string \"TRADE_NOT_ALLOWED\"" - }, - "value": "TRADE_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a276537e38920b1f77c7c8c2b082f9b84306b71be306551ec925c75ea3b72343", - "typeString": "literal_string \"TRADE_NOT_ALLOWED\"" - } - ], - "id": 9666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1023:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1023:45:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9670, - "nodeType": "ExpressionStatement", - "src": "1023:45:28" - }, - { - "id": 9671, - "nodeType": "PlaceholderStatement", - "src": "1078:1:28" - } - ] - }, - "documentation": null, - "id": 9673, - "name": "tradeAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9665, - "nodeType": "ParameterList", - "parameters": [], - "src": "1010:2:28" - }, - "src": "989:97:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9681, - "nodeType": "Block", - "src": "1117:75:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9676, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "1135:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "425559494e475f4e4f545f414c4c4f574544", - "id": 9677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1153:20:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ff4b067ea4e78a07e9f2c42853847fde0a109fa713bbb658dd5e72956cfe0087", - "typeString": "literal_string \"BUYING_NOT_ALLOWED\"" - }, - "value": "BUYING_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ff4b067ea4e78a07e9f2c42853847fde0a109fa713bbb658dd5e72956cfe0087", - "typeString": "literal_string \"BUYING_NOT_ALLOWED\"" - } - ], - "id": 9675, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1127:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1127:47:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9679, - "nodeType": "ExpressionStatement", - "src": "1127:47:28" - }, - { - "id": 9680, - "nodeType": "PlaceholderStatement", - "src": "1184:1:28" - } - ] - }, - "documentation": null, - "id": 9682, - "name": "buyingAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1114:2:28" - }, - "src": "1092:100:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9690, - "nodeType": "Block", - "src": "1224:77:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9685, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "1242:17:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53454c4c494e475f4e4f545f414c4c4f574544", - "id": 9686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1261:21:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9cedf648d013202fd3dfb14738c5dd5367278e047930dbbeecece1d175ffa5e", - "typeString": "literal_string \"SELLING_NOT_ALLOWED\"" - }, - "value": "SELLING_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9cedf648d013202fd3dfb14738c5dd5367278e047930dbbeecece1d175ffa5e", - "typeString": "literal_string \"SELLING_NOT_ALLOWED\"" - } - ], - "id": 9684, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1234:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1234:49:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9688, - "nodeType": "ExpressionStatement", - "src": "1234:49:28" - }, - { - "id": 9689, - "nodeType": "PlaceholderStatement", - "src": "1293:1:28" - } - ] - }, - "documentation": null, - "id": 9691, - "name": "sellingAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9683, - "nodeType": "ParameterList", - "parameters": [], - "src": "1221:2:28" - }, - "src": "1198:103:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9702, - "nodeType": "Block", - "src": "1332:89:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9694, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -26, - "src": "1350:2:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 9695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gasprice", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1350:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 9696, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1365:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1350:32:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4741535f50524943455f455843454544", - "id": 9698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1384:18:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f9e898838c870676efb9b2b0592d10219d9697c9d6edfa0e8e8f1d32ed503a32", - "typeString": "literal_string \"GAS_PRICE_EXCEED\"" - }, - "value": "GAS_PRICE_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f9e898838c870676efb9b2b0592d10219d9697c9d6edfa0e8e8f1d32ed503a32", - "typeString": "literal_string \"GAS_PRICE_EXCEED\"" - } - ], - "id": 9693, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1342:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1342:61:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9700, - "nodeType": "ExpressionStatement", - "src": "1342:61:28" - }, - { - "id": 9701, - "nodeType": "PlaceholderStatement", - "src": "1413:1:28" - } - ] - }, - "documentation": null, - "id": 9703, - "name": "gasPriceLimit", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9692, - "nodeType": "ParameterList", - "parameters": [], - "src": "1329:2:28" - }, - "src": "1307:114:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9830, - "nodeType": "Block", - "src": "1678:1298:28", - "statements": [ - { - "assignments": [ - 9723, - 9725, - 9727, - 9729, - 9731, - 9733 - ], - "declarations": [ - { - "constant": false, - "id": 9723, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1725:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9725, - "mutability": "mutable", - "name": "lpFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1759:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1759:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9727, - "mutability": "mutable", - "name": "mtFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1791:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1791:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9729, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1823:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 9728, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "1823:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9731, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1861:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1861:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9733, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1897:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1897:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9737, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9735, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "1951:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9734, - "name": "_querySellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10175, - "src": "1931:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1931:27:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1711:247:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9739, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "1976:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9740, - "name": "minReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "1992:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1976:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53454c4c5f424153455f524543454956455f4e4f545f454e4f554748", - "id": 9742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2009:30:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2576acc4b00a6068878bb264a3736551706bb27baf7a460c6372cbcdfae4018", - "typeString": "literal_string \"SELL_BASE_RECEIVE_NOT_ENOUGH\"" - }, - "value": "SELL_BASE_RECEIVE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e2576acc4b00a6068878bb264a3736551706bb27baf7a460c6372cbcdfae4018", - "typeString": "literal_string \"SELL_BASE_RECEIVE_NOT_ENOUGH\"" - } - ], - "id": 9738, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1968:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1968:72:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9744, - "nodeType": "ExpressionStatement", - "src": "1968:72:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9746, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2099:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2099:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9748, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2111:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9745, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "2076:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2076:48:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9750, - "nodeType": "ExpressionStatement", - "src": "2076:48:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9751, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9709, - "src": "2138:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 9752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2138:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2152:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2138:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9767, - "nodeType": "IfStatement", - "src": "2134:113:28", - "trueBody": { - "id": 9766, - "nodeType": "Block", - "src": "2155:92:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2202:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 9761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "2209:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9762, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2217:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9763, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9709, - "src": "2231:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9756, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2181:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2181:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9755, - "name": "IDODOCallee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10506, - "src": "2169:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOCallee_$10506_$", - "typeString": "type(contract IDODOCallee)" - } - }, - "id": 9758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2169:23:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOCallee_$10506", - "typeString": "contract IDODOCallee" - } - }, - "id": 9759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dodoCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 10505, - "src": "2169:32:28", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bool,uint256,uint256,bytes memory) external" - } - }, - "id": 9764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2169:67:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9765, - "nodeType": "ExpressionStatement", - "src": "2169:67:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9769, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2277:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2277:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9771, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "2289:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9768, - "name": "_baseTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "2256:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2256:40:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9773, - "nodeType": "ExpressionStatement", - "src": "2256:40:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9774, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9727, - "src": "2310:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2324:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2310:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9789, - "nodeType": "IfStatement", - "src": "2306:165:28", - "trueBody": { - "id": 9788, - "nodeType": "Block", - "src": "2327:144:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9778, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2364:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9779, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9727, - "src": "2378:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9777, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "2341:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2341:48:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9781, - "nodeType": "ExpressionStatement", - "src": "2341:48:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9783, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2428:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 9785, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9727, - "src": "2449:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9782, - "name": "ChargeMaintainerFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "2408:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 9786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2408:52:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9787, - "nodeType": "EmitStatement", - "src": "2403:57:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9790, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2510:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9791, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9731, - "src": "2541:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2510:45:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9798, - "nodeType": "IfStatement", - "src": "2506:120:28", - "trueBody": { - "id": 9797, - "nodeType": "Block", - "src": "2557:69:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9793, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2571:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9794, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9731, - "src": "2601:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2571:44:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9796, - "nodeType": "ExpressionStatement", - "src": "2571:44:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9799, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2639:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9800, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9733, - "src": "2669:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2639:43:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9807, - "nodeType": "IfStatement", - "src": "2635:116:28", - "trueBody": { - "id": 9806, - "nodeType": "Block", - "src": "2684:67:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9802, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2698:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9803, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9733, - "src": "2727:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2698:42:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9805, - "nodeType": "ExpressionStatement", - "src": "2698:42:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 9810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9808, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "2764:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9809, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9729, - "src": "2778:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "2764:24:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9816, - "nodeType": "IfStatement", - "src": "2760:78:28", - "trueBody": { - "id": 9815, - "nodeType": "Block", - "src": "2790:48:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9811, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "2804:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9812, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9729, - "src": "2817:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "2804:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 9814, - "nodeType": "ExpressionStatement", - "src": "2804:23:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9818, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9725, - "src": "2866:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9817, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "2848:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2848:29:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9820, - "nodeType": "ExpressionStatement", - "src": "2848:29:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9822, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2906:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2906:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9824, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "2918:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9825, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2926:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9821, - "name": "SellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9648, - "src": "2892:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 9826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2892:47:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9827, - "nodeType": "EmitStatement", - "src": "2887:52:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9828, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2957:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9721, - "id": 9829, - "nodeType": "Return", - "src": "2950:19:28" - } - ] - }, - "documentation": null, - "functionSelector": "8dae7333", - "id": 9831, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9712, - "modifierName": { - "argumentTypes": null, - "id": 9711, - "name": "tradeAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9673, - "src": "1601:12:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1601:12:28" - }, - { - "arguments": null, - "id": 9714, - "modifierName": { - "argumentTypes": null, - "id": 9713, - "name": "sellingAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "1614:14:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1614:14:28" - }, - { - "arguments": null, - "id": 9716, - "modifierName": { - "argumentTypes": null, - "id": 9715, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9703, - "src": "1629:13:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1629:13:28" - }, - { - "arguments": null, - "id": 9718, - "modifierName": { - "argumentTypes": null, - "id": 9717, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "1643:16:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1643:16:28" - } - ], - "name": "sellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9705, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1509:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1509:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9707, - "mutability": "mutable", - "name": "minReceiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1533:23:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1533:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9709, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1566:19:28", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9708, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1566:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1499:92:28" - }, - "returnParameters": { - "id": 9721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9720, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1669:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1669:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1668:9:28" - }, - "scope": 10351, - "src": "1477:1499:28", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9958, - "nodeType": "Block", - "src": "3177:1252:28", - "statements": [ - { - "assignments": [ - 9851, - 9853, - 9855, - 9857, - 9859, - 9861 - ], - "declarations": [ - { - "constant": false, - "id": 9851, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3224:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3224:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9853, - "mutability": "mutable", - "name": "lpFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3254:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3254:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9855, - "mutability": "mutable", - "name": "mtFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3285:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3285:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9857, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3316:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 9856, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "3316:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9859, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3354:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3354:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9861, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3390:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3390:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9865, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9863, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3443:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9862, - "name": "_queryBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10350, - "src": "3424:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:26:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3210:240:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9867, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "3468:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 9868, - "name": "maxPayQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9835, - "src": "3480:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3468:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4255595f424153455f434f53545f544f4f5f4d554348", - "id": 9870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3493:24:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0ac5b3c32d4064b3751261129f0fefc22b7826ab110012bdbce29191898a75a", - "typeString": "literal_string \"BUY_BASE_COST_TOO_MUCH\"" - }, - "value": "BUY_BASE_COST_TOO_MUCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f0ac5b3c32d4064b3751261129f0fefc22b7826ab110012bdbce29191898a75a", - "typeString": "literal_string \"BUY_BASE_COST_TOO_MUCH\"" - } - ], - "id": 9866, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3460:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3460:58:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9872, - "nodeType": "ExpressionStatement", - "src": "3460:58:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9874, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3576:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3576:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9876, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3588:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9873, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "3554:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3554:41:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9878, - "nodeType": "ExpressionStatement", - "src": "3554:41:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9879, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9837, - "src": "3609:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 9880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3609:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3623:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3609:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9895, - "nodeType": "IfStatement", - "src": "3605:108:28", - "trueBody": { - "id": 9894, - "nodeType": "Block", - "src": "3626:87:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9888, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3673:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 9889, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3679:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9890, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "3687:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9891, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9837, - "src": "3697:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9884, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3652:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3652:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9883, - "name": "IDODOCallee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10506, - "src": "3640:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOCallee_$10506_$", - "typeString": "type(contract IDODOCallee)" - } - }, - "id": 9886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3640:23:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOCallee_$10506", - "typeString": "contract IDODOCallee" - } - }, - "id": 9887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dodoCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 10505, - "src": "3640:32:28", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bool,uint256,uint256,bytes memory) external" - } - }, - "id": 9892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3640:62:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9893, - "nodeType": "ExpressionStatement", - "src": "3640:62:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3744:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3744:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9899, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "3756:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9896, - "name": "_quoteTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8967, - "src": "3722:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3722:43:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9901, - "nodeType": "ExpressionStatement", - "src": "3722:43:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9902, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "3779:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3792:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3779:14:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9917, - "nodeType": "IfStatement", - "src": "3775:160:28", - "trueBody": { - "id": 9916, - "nodeType": "Block", - "src": "3795:140:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9906, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "3831:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9907, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "3845:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9905, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "3809:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3809:46:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9909, - "nodeType": "ExpressionStatement", - "src": "3809:46:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9911, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "3894:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3908:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 9913, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "3914:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9910, - "name": "ChargeMaintainerFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "3874:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 9914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3874:50:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9915, - "nodeType": "EmitStatement", - "src": "3869:55:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9918, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3974:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9919, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9859, - "src": "4005:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3974:45:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9926, - "nodeType": "IfStatement", - "src": "3970:120:28", - "trueBody": { - "id": 9925, - "nodeType": "Block", - "src": "4021:69:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9921, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4035:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9922, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9859, - "src": "4065:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4035:44:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9924, - "nodeType": "ExpressionStatement", - "src": "4035:44:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9927, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4103:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9928, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9861, - "src": "4133:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4103:43:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9935, - "nodeType": "IfStatement", - "src": "4099:116:28", - "trueBody": { - "id": 9934, - "nodeType": "Block", - "src": "4148:67:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9930, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4162:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9931, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9861, - "src": "4191:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4162:42:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9933, - "nodeType": "ExpressionStatement", - "src": "4162:42:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 9938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9936, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "4228:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9937, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9857, - "src": "4242:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "4228:24:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9944, - "nodeType": "IfStatement", - "src": "4224:78:28", - "trueBody": { - "id": 9943, - "nodeType": "Block", - "src": "4254:48:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9939, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "4268:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9940, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9857, - "src": "4281:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "4268:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 9942, - "nodeType": "ExpressionStatement", - "src": "4268:23:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9946, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9853, - "src": "4329:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9945, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "4312:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4312:27:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9948, - "nodeType": "ExpressionStatement", - "src": "4312:27:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9950, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4367:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4367:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9952, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "4379:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9953, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "4387:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9949, - "name": "BuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9656, - "src": "4354:12:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 9954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4354:42:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9955, - "nodeType": "EmitStatement", - "src": "4349:47:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9956, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "4414:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9849, - "id": 9957, - "nodeType": "Return", - "src": "4407:15:28" - } - ] - }, - "documentation": null, - "functionSelector": "e67ce706", - "id": 9959, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9840, - "modifierName": { - "argumentTypes": null, - "id": 9839, - "name": "tradeAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9673, - "src": "3101:12:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3101:12:28" - }, - { - "arguments": null, - "id": 9842, - "modifierName": { - "argumentTypes": null, - "id": 9841, - "name": "buyingAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9682, - "src": "3114:13:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3114:13:28" - }, - { - "arguments": null, - "id": 9844, - "modifierName": { - "argumentTypes": null, - "id": 9843, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9703, - "src": "3128:13:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3128:13:28" - }, - { - "arguments": null, - "id": 9846, - "modifierName": { - "argumentTypes": null, - "id": 9845, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3142:16:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3142:16:28" - } - ], - "name": "buyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9833, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3013:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3013:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9835, - "mutability": "mutable", - "name": "maxPayQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3037:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3037:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9837, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3066:19:28", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9836, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3066:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3003:88:28" - }, - "returnParameters": { - "id": 9849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9848, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3168:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3168:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3167:9:28" - }, - "scope": 10351, - "src": "2982:1447:28", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9975, - "nodeType": "Block", - "src": "4574:100:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9966, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9964, - "src": "4585:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - null, - null - ], - "id": 9967, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4584:24:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$__$__$__$__$__$", - "typeString": "tuple(uint256,,,,,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9969, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "4631:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9968, - "name": "_querySellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10175, - "src": "4611:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4611:27:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "src": "4584:54:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9972, - "nodeType": "ExpressionStatement", - "src": "4584:54:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9973, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9964, - "src": "4655:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9965, - "id": 9974, - "nodeType": "Return", - "src": "4648:19:28" - } - ] - }, - "documentation": null, - "functionSelector": "a2801e16", - "id": 9976, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "querySellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9961, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9976, - "src": "4513:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4513:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4512:16:28" - }, - "returnParameters": { - "id": 9965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9964, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9976, - "src": "4552:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4552:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4551:22:28" - }, - "scope": 10351, - "src": "4485:189:28", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9992, - "nodeType": "Block", - "src": "4764:91:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9983, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9981, - "src": "4775:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - null, - null - ], - "id": 9984, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4774:20:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$__$__$__$__$__$", - "typeString": "tuple(uint256,,,,,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9986, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9978, - "src": "4816:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9985, - "name": "_queryBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10350, - "src": "4797:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4797:26:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "src": "4774:49:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9989, - "nodeType": "ExpressionStatement", - "src": "4774:49:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9990, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9981, - "src": "4840:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9982, - "id": 9991, - "nodeType": "Return", - "src": "4833:15:28" - } - ] - }, - "documentation": null, - "functionSelector": "18c0bbe4", - "id": 9993, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "queryBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9978, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9993, - "src": "4707:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4707:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4706:16:28" - }, - "returnParameters": { - "id": 9982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9981, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9993, - "src": "4746:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4745:18:28" - }, - "scope": 10351, - "src": "4680:175:28", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 10174, - "nodeType": "Block", - "src": "5174:2431:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10010, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "5185:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10011, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "5200:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10012, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5184:31:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10013, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "5218:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 10014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5218:19:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5184:53:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10016, - "nodeType": "ExpressionStatement", - "src": "5184:53:28" - }, - { - "assignments": [ - 10018 - ], - "declarations": [ - { - "constant": false, - "id": 10018, - "mutability": "mutable", - "name": "sellBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10174, - "src": "5248:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5248:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10020, - "initialValue": { - "argumentTypes": null, - "id": 10019, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9995, - "src": "5273:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5248:31:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10021, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5294:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10022, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5308:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5308:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5308:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5294:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10040, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5537:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10041, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5551:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5551:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5551:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5537:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10137, - "nodeType": "Block", - "src": "7035:239:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10123, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7129:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10125, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "7165:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10126, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "7181:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10127, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "7198:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10124, - "name": "_RBelowSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8494, - "src": "7144:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7144:69:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7129:84:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10130, - "nodeType": "ExpressionStatement", - "src": "7129:84:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10131, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "7227:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10132, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "7240:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "7240:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7240:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "7227:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10136, - "nodeType": "ExpressionStatement", - "src": "7227:36:28" - } - ] - }, - "id": 10138, - "nodeType": "IfStatement", - "src": "5533:1741:28", - "trueBody": { - "id": 10122, - "nodeType": "Block", - "src": "5576:1453:28", - "statements": [ - { - "assignments": [ - 10046 - ], - "declarations": [ - { - "constant": false, - "id": 10046, - "mutability": "mutable", - "name": "backToOnePayBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10122, - "src": "5590:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5590:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10051, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10049, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "5635:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10047, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "5617:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5617:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5617:33:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5590:60:28" - }, - { - "assignments": [ - 10053 - ], - "declarations": [ - { - "constant": false, - "id": 10053, - "mutability": "mutable", - "name": "backToOneReceiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10122, - "src": "5664:29:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5664:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10058, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10056, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "5716:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10054, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5696:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5696:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5696:35:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5664:67:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10059, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "5840:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 10060, - "name": "backToOnePayBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10046, - "src": "5857:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5840:33:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10086, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "6509:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10087, - "name": "backToOnePayBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10046, - "src": "6527:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6509:34:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10119, - "nodeType": "Block", - "src": "6721:298:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10100, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6798:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10106, - "name": "backToOnePayBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10046, - "src": "6898:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10104, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "6879:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6879:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6879:36:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10108, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "6917:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10103, - "name": "_ROneSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8423, - "src": "6860:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6860:72:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10101, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6813:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6813:25:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6813:137:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6798:152:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10112, - "nodeType": "ExpressionStatement", - "src": "6798:152:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10113, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "6968:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10114, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "6981:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "6981:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6981:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "6968:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10118, - "nodeType": "ExpressionStatement", - "src": "6968:36:28" - } - ] - }, - "id": 10120, - "nodeType": "IfStatement", - "src": "6505:514:28", - "trueBody": { - "id": 10099, - "nodeType": "Block", - "src": "6545:170:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10089, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6616:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10090, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6631:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6616:36:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10092, - "nodeType": "ExpressionStatement", - "src": "6616:36:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10093, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "6670:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10094, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "6683:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "6683:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6683:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "6670:30:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10098, - "nodeType": "ExpressionStatement", - "src": "6670:30:28" - } - ] - } - }, - "id": 10121, - "nodeType": "IfStatement", - "src": "5836:1183:28", - "trueBody": { - "id": 10085, - "nodeType": "Block", - "src": "5875:624:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10062, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "5945:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10064, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "5981:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10065, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "5997:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10066, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "6013:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10063, - "name": "_RAboveSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8628, - "src": "5960:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5960:67:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5945:82:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10069, - "nodeType": "ExpressionStatement", - "src": "5945:82:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10070, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "6045:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10071, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "6058:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "6058:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6058:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "6045:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10075, - "nodeType": "ExpressionStatement", - "src": "6045:36:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10076, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6103:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 10077, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6118:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6103:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10084, - "nodeType": "IfStatement", - "src": "6099:386:28", - "trueBody": { - "id": 10083, - "nodeType": "Block", - "src": "6141:344:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10079, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6430:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10080, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6445:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6430:36:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10082, - "nodeType": "ExpressionStatement", - "src": "6430:36:28" - } - ] - } - } - ] - } - } - ] - } - }, - "id": 10139, - "nodeType": "IfStatement", - "src": "5290:1984:28", - "trueBody": { - "id": 10039, - "nodeType": "Block", - "src": "5327:200:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10026, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "5401:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10028, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "5435:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10029, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "5451:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10027, - "name": "_ROneSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8423, - "src": "5416:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5416:50:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5401:65:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10032, - "nodeType": "ExpressionStatement", - "src": "5401:65:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10033, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "5480:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10034, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5493:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5493:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5493:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5480:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10038, - "nodeType": "ExpressionStatement", - "src": "5480:36:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 10146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10140, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "7306:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10143, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7335:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10144, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "7349:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10141, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "7319:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "7319:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:44:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7306:57:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10147, - "nodeType": "ExpressionStatement", - "src": "7306:57:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10148, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10002, - "src": "7373:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10151, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7402:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10152, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "7416:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10149, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "7386:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "7386:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7386:44:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7373:57:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10155, - "nodeType": "ExpressionStatement", - "src": "7373:57:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10156, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7440:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10162, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10002, - "src": "7488:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10159, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "7472:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10157, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7455:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7455:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7455:28:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7455:32:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7455:44:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7440:59:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10165, - "nodeType": "ExpressionStatement", - "src": "7440:59:28" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10166, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7518:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10167, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "7532:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10168, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10002, - "src": "7544:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10169, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "7556:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - { - "argumentTypes": null, - "id": 10170, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "7568:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10171, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "7584:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10172, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7517:81:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "functionReturnParameters": 10009, - "id": 10173, - "nodeType": "Return", - "src": "7510:88:28" - } - ] - }, - "documentation": null, - "id": 10175, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_querySellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9995, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "4890:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4890:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4889:16:28" - }, - "returnParameters": { - "id": 10009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9998, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "4966:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9997, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4966:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10000, - "mutability": "mutable", - "name": "lpFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5000:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5000:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10002, - "mutability": "mutable", - "name": "mtFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5032:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5032:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10004, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5064:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 10003, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "5064:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10006, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5102:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5102:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10008, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5138:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5138:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4952:217:28" - }, - "scope": 10351, - "src": "4861:2744:28", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10349, - "nodeType": "Block", - "src": "7917:2002:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10192, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "7928:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10193, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "7943:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10194, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "7927:31:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10195, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "7961:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 10196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7961:19:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "7927:53:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10198, - "nodeType": "ExpressionStatement", - "src": "7927:53:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10199, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10182, - "src": "8038:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10202, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10177, - "src": "8066:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10203, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "8074:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10200, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8050:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "8050:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8050:38:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8038:50:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10206, - "nodeType": "ExpressionStatement", - "src": "8038:50:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10207, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "8098:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10210, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10177, - "src": "8126:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10211, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "8134:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10208, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8110:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "8110:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8110:38:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8098:50:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10214, - "nodeType": "ExpressionStatement", - "src": "8098:50:28" - }, - { - "assignments": [ - 10216 - ], - "declarations": [ - { - "constant": false, - "id": 10216, - "mutability": "mutable", - "name": "buyBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10349, - "src": "8158:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8158:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10224, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10222, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "8208:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10219, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10182, - "src": "8193:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10217, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10177, - "src": "8182:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "8182:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8182:21:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "8182:25:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8182:36:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8158:60:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10225, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "8233:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10226, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8247:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8247:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8247:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8233:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10244, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "8436:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10245, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8450:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8450:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8450:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8436:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10264, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "8663:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10265, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8677:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8677:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8677:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8663:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10338, - "nodeType": "IfStatement", - "src": "8659:1161:28", - "trueBody": { - "id": 10337, - "nodeType": "Block", - "src": "8702:1118:28", - "statements": [ - { - "assignments": [ - 10270 - ], - "declarations": [ - { - "constant": false, - "id": 10270, - "mutability": "mutable", - "name": "backToOnePayQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10337, - "src": "8716:25:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8716:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10275, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10273, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "8763:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10271, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "8744:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8744:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8744:35:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8716:63:28" - }, - { - "assignments": [ - 10277 - ], - "declarations": [ - { - "constant": false, - "id": 10277, - "mutability": "mutable", - "name": "backToOneReceiveBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10337, - "src": "8793:28:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8793:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10280, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8843:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10278, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "8824:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8824:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8824:33:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8793:64:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10283, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "8951:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 10284, - "name": "backToOneReceiveBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10277, - "src": "8967:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8951:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10301, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9312:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10302, - "name": "backToOneReceiveBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10277, - "src": "9329:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9312:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10334, - "nodeType": "Block", - "src": "9519:291:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10315, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9596:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10321, - "name": "backToOneReceiveBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10277, - "src": "9686:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10319, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9668:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "9668:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9668:39:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10323, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "9709:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10318, - "name": "_ROneBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8457, - "src": "9650:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9650:73:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10316, - "name": "backToOnePayQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10270, - "src": "9607:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "9607:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9607:134:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9596:145:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10327, - "nodeType": "ExpressionStatement", - "src": "9596:145:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10328, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9759:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10329, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9772:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9772:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9772:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9759:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10333, - "nodeType": "ExpressionStatement", - "src": "9759:36:28" - } - ] - }, - "id": 10335, - "nodeType": "IfStatement", - "src": "9308:502:28", - "trueBody": { - "id": 10314, - "nodeType": "Block", - "src": "9351:162:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10304, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9422:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10305, - "name": "backToOnePayQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10270, - "src": "9433:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9422:28:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10307, - "nodeType": "ExpressionStatement", - "src": "9422:28:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10308, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9468:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10309, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9481:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9481:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9481:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9468:30:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10313, - "nodeType": "ExpressionStatement", - "src": "9468:30:28" - } - ] - } - }, - "id": 10336, - "nodeType": "IfStatement", - "src": "8947:863:28", - "trueBody": { - "id": 10300, - "nodeType": "Block", - "src": "8989:313:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10286, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9155:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10288, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9186:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10289, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "9201:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10290, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "9218:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10287, - "name": "_RBelowBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8531, - "src": "9166:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9166:67:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9155:78:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10293, - "nodeType": "ExpressionStatement", - "src": "9155:78:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10294, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9251:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10295, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9264:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9264:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9264:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9251:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10299, - "nodeType": "ExpressionStatement", - "src": "9251:36:28" - } - ] - } - } - ] - } - }, - "id": 10339, - "nodeType": "IfStatement", - "src": "8432:1388:28", - "trueBody": { - "id": 10263, - "nodeType": "Block", - "src": "8475:178:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10249, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "8516:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10251, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "8547:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10252, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "8562:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10253, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8578:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10250, - "name": "_RAboveBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8603, - "src": "8527:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8527:65:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8516:76:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10256, - "nodeType": "ExpressionStatement", - "src": "8516:76:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10257, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "8606:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10258, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8619:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8619:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8619:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8606:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10262, - "nodeType": "ExpressionStatement", - "src": "8606:36:28" - } - ] - } - }, - "id": 10340, - "nodeType": "IfStatement", - "src": "8229:1591:28", - "trueBody": { - "id": 10243, - "nodeType": "Block", - "src": "8266:160:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10230, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "8307:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10232, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "8336:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10233, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8351:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10231, - "name": "_ROneBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8457, - "src": "8318:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8318:47:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8307:58:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10236, - "nodeType": "ExpressionStatement", - "src": "8307:58:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10237, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "8379:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10238, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8392:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8392:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8392:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8379:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10242, - "nodeType": "ExpressionStatement", - "src": "8379:36:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10341, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9838:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10342, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10182, - "src": "9848:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10343, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9859:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10344, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9870:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - { - "argumentTypes": null, - "id": 10345, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "9882:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10346, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "9898:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10347, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9837:75:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "functionReturnParameters": 10191, - "id": 10348, - "nodeType": "Return", - "src": "9830:82:28" - } - ] - }, - "documentation": null, - "id": 10350, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_queryBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10177, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7639:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7639:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7638:16:28" - }, - "returnParameters": { - "id": 10191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10180, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7715:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7715:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10182, - "mutability": "mutable", - "name": "lpFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7745:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7745:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10184, - "mutability": "mutable", - "name": "mtFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7776:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7776:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10186, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7807:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 10185, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "7807:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10188, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7845:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7845:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10190, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7881:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7881:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7701:211:28" - }, - "scope": 10351, - "src": "7611:2308:28", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10352, - "src": "547:9374:28" - } - ], - "src": "78:9844:28" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol", - "exportedSymbols": { - "Trader": [ - 10351 - ] - }, - "id": 10352, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9615, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:28" - }, - { - "id": 9616, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:28" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 9618, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 11624, - "src": "136:45:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9617, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:8:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", - "file": "../lib/DecimalMath.sol", - "id": 9620, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 11079, - "src": "182:51:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9619, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "190:11:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "file": "../lib/Types.sol", - "id": 9622, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 11632, - "src": "234:39:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9621, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "242:5:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol", - "file": "../intf/IDODOCallee.sol", - "id": 9624, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 10507, - "src": "274:52:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9623, - "name": "IDODOCallee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "282:11:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol", - "file": "./Storage.sol", - "id": 9626, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 9614, - "src": "327:38:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9625, - "name": "Storage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "335:7:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol", - "file": "./Pricing.sol", - "id": 9628, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 8854, - "src": "366:38:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9627, - "name": "Pricing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "374:7:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol", - "file": "./Settlement.sol", - "id": 9630, - "nodeType": "ImportDirective", - "scope": 10352, - "sourceUnit": 9397, - "src": "405:44:28", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 9629, - "name": "Settlement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "413:10:28", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9632, - "name": "Storage", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9613, - "src": "566:7:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Storage_$9613", - "typeString": "contract Storage" - } - }, - "id": 9633, - "nodeType": "InheritanceSpecifier", - "src": "566:7:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9634, - "name": "Pricing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8853, - "src": "575:7:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pricing_$8853", - "typeString": "contract Pricing" - } - }, - "id": 9635, - "nodeType": "InheritanceSpecifier", - "src": "575:7:28" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9636, - "name": "Settlement", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9396, - "src": "584:10:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Settlement_$9396", - "typeString": "contract Settlement" - } - }, - "id": 9637, - "nodeType": "InheritanceSpecifier", - "src": "584:10:28" - } - ], - "contractDependencies": [ - 8853, - 9396, - 9613, - 11166, - 11296 - ], - "contractKind": "contract", - "documentation": { - "id": 9631, - "nodeType": "StructuredDocumentation", - "src": "452:94:28", - "text": " @title Trader\n @author DODO Breeder\n @notice Functions for trader operations" - }, - "fullyImplemented": true, - "id": 10351, - "linearizedBaseContracts": [ - 10351, - 9396, - 8853, - 9613, - 11296, - 11166 - ], - "name": "Trader", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 9640, - "libraryName": { - "contractScope": null, - "id": 9638, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "607:8:28", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "601:27:28", - "typeName": { - "id": 9639, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "620:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 9648, - "name": "SellBaseToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9642, - "indexed": true, - "mutability": "mutable", - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9648, - "src": "695:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9644, - "indexed": false, - "mutability": "mutable", - "name": "payBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9648, - "src": "719:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "719:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9646, - "indexed": false, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9648, - "src": "736:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "694:63:28" - }, - "src": "675:83:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 9656, - "name": "BuyBaseToken", - "nodeType": "EventDefinition", - "parameters": { - "id": 9655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9650, - "indexed": true, - "mutability": "mutable", - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9656, - "src": "783:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "783:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9652, - "indexed": false, - "mutability": "mutable", - "name": "receiveBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9656, - "src": "806:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "806:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9654, - "indexed": false, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9656, - "src": "827:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "782:62:28" - }, - "src": "764:81:28" - }, - { - "anonymous": false, - "documentation": null, - "id": 9664, - "name": "ChargeMaintainerFee", - "nodeType": "EventDefinition", - "parameters": { - "id": 9663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9658, - "indexed": true, - "mutability": "mutable", - "name": "maintainer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9664, - "src": "877:26:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9657, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "877:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9660, - "indexed": false, - "mutability": "mutable", - "name": "isBaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9664, - "src": "905:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9659, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "905:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9662, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9664, - "src": "923:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "876:62:28" - }, - "src": "851:88:28" - }, - { - "body": { - "id": 9672, - "nodeType": "Block", - "src": "1013:73:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9667, - "name": "_TRADE_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9431, - "src": "1031:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54524144455f4e4f545f414c4c4f574544", - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1048:19:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a276537e38920b1f77c7c8c2b082f9b84306b71be306551ec925c75ea3b72343", - "typeString": "literal_string \"TRADE_NOT_ALLOWED\"" - }, - "value": "TRADE_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a276537e38920b1f77c7c8c2b082f9b84306b71be306551ec925c75ea3b72343", - "typeString": "literal_string \"TRADE_NOT_ALLOWED\"" - } - ], - "id": 9666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1023:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1023:45:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9670, - "nodeType": "ExpressionStatement", - "src": "1023:45:28" - }, - { - "id": 9671, - "nodeType": "PlaceholderStatement", - "src": "1078:1:28" - } - ] - }, - "documentation": null, - "id": 9673, - "name": "tradeAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9665, - "nodeType": "ParameterList", - "parameters": [], - "src": "1010:2:28" - }, - "src": "989:97:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9681, - "nodeType": "Block", - "src": "1117:75:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9676, - "name": "_BUYING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9435, - "src": "1135:16:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "425559494e475f4e4f545f414c4c4f574544", - "id": 9677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1153:20:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ff4b067ea4e78a07e9f2c42853847fde0a109fa713bbb658dd5e72956cfe0087", - "typeString": "literal_string \"BUYING_NOT_ALLOWED\"" - }, - "value": "BUYING_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ff4b067ea4e78a07e9f2c42853847fde0a109fa713bbb658dd5e72956cfe0087", - "typeString": "literal_string \"BUYING_NOT_ALLOWED\"" - } - ], - "id": 9675, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1127:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1127:47:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9679, - "nodeType": "ExpressionStatement", - "src": "1127:47:28" - }, - { - "id": 9680, - "nodeType": "PlaceholderStatement", - "src": "1184:1:28" - } - ] - }, - "documentation": null, - "id": 9682, - "name": "buyingAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1114:2:28" - }, - "src": "1092:100:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9690, - "nodeType": "Block", - "src": "1224:77:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9685, - "name": "_SELLING_ALLOWED_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9437, - "src": "1242:17:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53454c4c494e475f4e4f545f414c4c4f574544", - "id": 9686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1261:21:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b9cedf648d013202fd3dfb14738c5dd5367278e047930dbbeecece1d175ffa5e", - "typeString": "literal_string \"SELLING_NOT_ALLOWED\"" - }, - "value": "SELLING_NOT_ALLOWED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b9cedf648d013202fd3dfb14738c5dd5367278e047930dbbeecece1d175ffa5e", - "typeString": "literal_string \"SELLING_NOT_ALLOWED\"" - } - ], - "id": 9684, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1234:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1234:49:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9688, - "nodeType": "ExpressionStatement", - "src": "1234:49:28" - }, - { - "id": 9689, - "nodeType": "PlaceholderStatement", - "src": "1293:1:28" - } - ] - }, - "documentation": null, - "id": 9691, - "name": "sellingAllowed", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9683, - "nodeType": "ParameterList", - "parameters": [], - "src": "1221:2:28" - }, - "src": "1198:103:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9702, - "nodeType": "Block", - "src": "1332:89:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9694, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -26, - "src": "1350:2:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 9695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gasprice", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1350:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 9696, - "name": "_GAS_PRICE_LIMIT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1365:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1350:32:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4741535f50524943455f455843454544", - "id": 9698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1384:18:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f9e898838c870676efb9b2b0592d10219d9697c9d6edfa0e8e8f1d32ed503a32", - "typeString": "literal_string \"GAS_PRICE_EXCEED\"" - }, - "value": "GAS_PRICE_EXCEED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f9e898838c870676efb9b2b0592d10219d9697c9d6edfa0e8e8f1d32ed503a32", - "typeString": "literal_string \"GAS_PRICE_EXCEED\"" - } - ], - "id": 9693, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1342:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1342:61:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9700, - "nodeType": "ExpressionStatement", - "src": "1342:61:28" - }, - { - "id": 9701, - "nodeType": "PlaceholderStatement", - "src": "1413:1:28" - } - ] - }, - "documentation": null, - "id": 9703, - "name": "gasPriceLimit", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 9692, - "nodeType": "ParameterList", - "parameters": [], - "src": "1329:2:28" - }, - "src": "1307:114:28", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9830, - "nodeType": "Block", - "src": "1678:1298:28", - "statements": [ - { - "assignments": [ - 9723, - 9725, - 9727, - 9729, - 9731, - 9733 - ], - "declarations": [ - { - "constant": false, - "id": 9723, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1725:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9725, - "mutability": "mutable", - "name": "lpFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1759:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1759:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9727, - "mutability": "mutable", - "name": "mtFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1791:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1791:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9729, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1823:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 9728, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "1823:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9731, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1861:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1861:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9733, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9830, - "src": "1897:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1897:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9737, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9735, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "1951:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9734, - "name": "_querySellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10175, - "src": "1931:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1931:27:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1711:247:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9739, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "1976:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9740, - "name": "minReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "1992:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1976:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53454c4c5f424153455f524543454956455f4e4f545f454e4f554748", - "id": 9742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2009:30:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e2576acc4b00a6068878bb264a3736551706bb27baf7a460c6372cbcdfae4018", - "typeString": "literal_string \"SELL_BASE_RECEIVE_NOT_ENOUGH\"" - }, - "value": "SELL_BASE_RECEIVE_NOT_ENOUGH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e2576acc4b00a6068878bb264a3736551706bb27baf7a460c6372cbcdfae4018", - "typeString": "literal_string \"SELL_BASE_RECEIVE_NOT_ENOUGH\"" - } - ], - "id": 9738, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1968:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1968:72:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9744, - "nodeType": "ExpressionStatement", - "src": "1968:72:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9746, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2099:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2099:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9748, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2111:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9745, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "2076:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2076:48:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9750, - "nodeType": "ExpressionStatement", - "src": "2076:48:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9751, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9709, - "src": "2138:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 9752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2138:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2152:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2138:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9767, - "nodeType": "IfStatement", - "src": "2134:113:28", - "trueBody": { - "id": 9766, - "nodeType": "Block", - "src": "2155:92:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2202:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 9761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "2209:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9762, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2217:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9763, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9709, - "src": "2231:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9756, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2181:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2181:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9755, - "name": "IDODOCallee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10506, - "src": "2169:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOCallee_$10506_$", - "typeString": "type(contract IDODOCallee)" - } - }, - "id": 9758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2169:23:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOCallee_$10506", - "typeString": "contract IDODOCallee" - } - }, - "id": 9759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dodoCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 10505, - "src": "2169:32:28", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bool,uint256,uint256,bytes memory) external" - } - }, - "id": 9764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2169:67:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9765, - "nodeType": "ExpressionStatement", - "src": "2169:67:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9769, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2277:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2277:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9771, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "2289:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9768, - "name": "_baseTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "2256:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2256:40:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9773, - "nodeType": "ExpressionStatement", - "src": "2256:40:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9774, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9727, - "src": "2310:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2324:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2310:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9789, - "nodeType": "IfStatement", - "src": "2306:165:28", - "trueBody": { - "id": 9788, - "nodeType": "Block", - "src": "2327:144:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9778, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2364:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9779, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9727, - "src": "2378:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9777, - "name": "_quoteTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9013, - "src": "2341:22:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2341:48:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9781, - "nodeType": "ExpressionStatement", - "src": "2341:48:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9783, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2428:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:5:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "id": 9785, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9727, - "src": "2449:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9782, - "name": "ChargeMaintainerFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "2408:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 9786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2408:52:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9787, - "nodeType": "EmitStatement", - "src": "2403:57:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9790, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2510:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9791, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9731, - "src": "2541:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2510:45:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9798, - "nodeType": "IfStatement", - "src": "2506:120:28", - "trueBody": { - "id": 9797, - "nodeType": "Block", - "src": "2557:69:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9793, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "2571:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9794, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9731, - "src": "2601:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2571:44:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9796, - "nodeType": "ExpressionStatement", - "src": "2571:44:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9799, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2639:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9800, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9733, - "src": "2669:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2639:43:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9807, - "nodeType": "IfStatement", - "src": "2635:116:28", - "trueBody": { - "id": 9806, - "nodeType": "Block", - "src": "2684:67:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9802, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "2698:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9803, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9733, - "src": "2727:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2698:42:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9805, - "nodeType": "ExpressionStatement", - "src": "2698:42:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 9810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9808, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "2764:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9809, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9729, - "src": "2778:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "2764:24:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9816, - "nodeType": "IfStatement", - "src": "2760:78:28", - "trueBody": { - "id": 9815, - "nodeType": "Block", - "src": "2790:48:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9811, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "2804:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9812, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9729, - "src": "2817:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "2804:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 9814, - "nodeType": "ExpressionStatement", - "src": "2804:23:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9818, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9725, - "src": "2866:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9817, - "name": "_donateQuoteToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9049, - "src": "2848:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2848:29:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9820, - "nodeType": "ExpressionStatement", - "src": "2848:29:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9822, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2906:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2906:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9824, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9705, - "src": "2918:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9825, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2926:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9821, - "name": "SellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9648, - "src": "2892:13:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 9826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2892:47:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9827, - "nodeType": "EmitStatement", - "src": "2887:52:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9828, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9723, - "src": "2957:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9721, - "id": 9829, - "nodeType": "Return", - "src": "2950:19:28" - } - ] - }, - "documentation": null, - "functionSelector": "8dae7333", - "id": 9831, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9712, - "modifierName": { - "argumentTypes": null, - "id": 9711, - "name": "tradeAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9673, - "src": "1601:12:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1601:12:28" - }, - { - "arguments": null, - "id": 9714, - "modifierName": { - "argumentTypes": null, - "id": 9713, - "name": "sellingAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "1614:14:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1614:14:28" - }, - { - "arguments": null, - "id": 9716, - "modifierName": { - "argumentTypes": null, - "id": 9715, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9703, - "src": "1629:13:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1629:13:28" - }, - { - "arguments": null, - "id": 9718, - "modifierName": { - "argumentTypes": null, - "id": 9717, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "1643:16:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1643:16:28" - } - ], - "name": "sellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9705, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1509:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1509:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9707, - "mutability": "mutable", - "name": "minReceiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1533:23:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1533:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9709, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1566:19:28", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9708, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1566:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1499:92:28" - }, - "returnParameters": { - "id": 9721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9720, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9831, - "src": "1669:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1669:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1668:9:28" - }, - "scope": 10351, - "src": "1477:1499:28", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9958, - "nodeType": "Block", - "src": "3177:1252:28", - "statements": [ - { - "assignments": [ - 9851, - 9853, - 9855, - 9857, - 9859, - 9861 - ], - "declarations": [ - { - "constant": false, - "id": 9851, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3224:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3224:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9853, - "mutability": "mutable", - "name": "lpFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3254:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3254:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9855, - "mutability": "mutable", - "name": "mtFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3285:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3285:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9857, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3316:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 9856, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "3316:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9859, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3354:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3354:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9861, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9958, - "src": "3390:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3390:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9865, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9863, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3443:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9862, - "name": "_queryBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10350, - "src": "3424:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:26:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3210:240:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9867, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "3468:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 9868, - "name": "maxPayQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9835, - "src": "3480:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3468:23:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4255595f424153455f434f53545f544f4f5f4d554348", - "id": 9870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3493:24:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0ac5b3c32d4064b3751261129f0fefc22b7826ab110012bdbce29191898a75a", - "typeString": "literal_string \"BUY_BASE_COST_TOO_MUCH\"" - }, - "value": "BUY_BASE_COST_TOO_MUCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f0ac5b3c32d4064b3751261129f0fefc22b7826ab110012bdbce29191898a75a", - "typeString": "literal_string \"BUY_BASE_COST_TOO_MUCH\"" - } - ], - "id": 9866, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3460:7:28", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3460:58:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9872, - "nodeType": "ExpressionStatement", - "src": "3460:58:28" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9874, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3576:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3576:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9876, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3588:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9873, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "3554:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3554:41:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9878, - "nodeType": "ExpressionStatement", - "src": "3554:41:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9879, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9837, - "src": "3609:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 9880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3609:11:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3623:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3609:15:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9895, - "nodeType": "IfStatement", - "src": "3605:108:28", - "trueBody": { - "id": 9894, - "nodeType": "Block", - "src": "3626:87:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9888, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3673:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 9889, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3679:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9890, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "3687:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9891, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9837, - "src": "3697:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9884, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3652:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3652:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 9883, - "name": "IDODOCallee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10506, - "src": "3640:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODOCallee_$10506_$", - "typeString": "type(contract IDODOCallee)" - } - }, - "id": 9886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3640:23:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODOCallee_$10506", - "typeString": "contract IDODOCallee" - } - }, - "id": 9887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dodoCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 10505, - "src": "3640:32:28", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bool,uint256,uint256,bytes memory) external" - } - }, - "id": 9892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3640:62:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9893, - "nodeType": "ExpressionStatement", - "src": "3640:62:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3744:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3744:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9899, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "3756:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9896, - "name": "_quoteTokenTransferIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8967, - "src": "3722:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3722:43:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9901, - "nodeType": "ExpressionStatement", - "src": "3722:43:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9902, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "3779:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3792:1:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3779:14:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9917, - "nodeType": "IfStatement", - "src": "3775:160:28", - "trueBody": { - "id": 9916, - "nodeType": "Block", - "src": "3795:140:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9906, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "3831:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9907, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "3845:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9905, - "name": "_baseTokenTransferOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8990, - "src": "3809:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3809:46:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9909, - "nodeType": "ExpressionStatement", - "src": "3809:46:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9911, - "name": "_MAINTAINER_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "3894:12:28", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3908:4:28", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 9913, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "3914:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9910, - "name": "ChargeMaintainerFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "3874:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (address,bool,uint256)" - } - }, - "id": 9914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3874:50:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9915, - "nodeType": "EmitStatement", - "src": "3869:55:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9918, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "3974:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9919, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9859, - "src": "4005:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3974:45:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9926, - "nodeType": "IfStatement", - "src": "3970:120:28", - "trueBody": { - "id": 9925, - "nodeType": "Block", - "src": "4021:69:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9921, - "name": "_TARGET_QUOTE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9463, - "src": "4035:27:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9922, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9859, - "src": "4065:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4035:44:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9924, - "nodeType": "ExpressionStatement", - "src": "4035:44:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9927, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4103:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9928, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9861, - "src": "4133:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4103:43:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9935, - "nodeType": "IfStatement", - "src": "4099:116:28", - "trueBody": { - "id": 9934, - "nodeType": "Block", - "src": "4148:67:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9930, - "name": "_TARGET_BASE_TOKEN_AMOUNT_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "4162:26:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9931, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9861, - "src": "4191:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4162:42:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9933, - "nodeType": "ExpressionStatement", - "src": "4162:42:28" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 9938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9936, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "4228:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 9937, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9857, - "src": "4242:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "4228:24:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9944, - "nodeType": "IfStatement", - "src": "4224:78:28", - "trueBody": { - "id": 9943, - "nodeType": "Block", - "src": "4254:48:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9939, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "4268:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9940, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9857, - "src": "4281:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "4268:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 9942, - "nodeType": "ExpressionStatement", - "src": "4268:23:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9946, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9853, - "src": "4329:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9945, - "name": "_donateBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9031, - "src": "4312:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 9947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4312:27:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9948, - "nodeType": "ExpressionStatement", - "src": "4312:27:28" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9950, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4367:3:28", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4367:10:28", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9952, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "4379:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9953, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "4387:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9949, - "name": "BuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9656, - "src": "4354:12:28", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 9954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4354:42:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9955, - "nodeType": "EmitStatement", - "src": "4349:47:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9956, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9851, - "src": "4414:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9849, - "id": 9957, - "nodeType": "Return", - "src": "4407:15:28" - } - ] - }, - "documentation": null, - "functionSelector": "e67ce706", - "id": 9959, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 9840, - "modifierName": { - "argumentTypes": null, - "id": 9839, - "name": "tradeAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9673, - "src": "3101:12:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3101:12:28" - }, - { - "arguments": null, - "id": 9842, - "modifierName": { - "argumentTypes": null, - "id": 9841, - "name": "buyingAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9682, - "src": "3114:13:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3114:13:28" - }, - { - "arguments": null, - "id": 9844, - "modifierName": { - "argumentTypes": null, - "id": 9843, - "name": "gasPriceLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9703, - "src": "3128:13:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3128:13:28" - }, - { - "arguments": null, - "id": 9846, - "modifierName": { - "argumentTypes": null, - "id": 9845, - "name": "preventReentrant", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11295, - "src": "3142:16:28", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3142:16:28" - } - ], - "name": "buyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9833, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3013:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3013:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9835, - "mutability": "mutable", - "name": "maxPayQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3037:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3037:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9837, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3066:19:28", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9836, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3066:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3003:88:28" - }, - "returnParameters": { - "id": 9849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9848, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9959, - "src": "3168:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3168:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3167:9:28" - }, - "scope": 10351, - "src": "2982:1447:28", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9975, - "nodeType": "Block", - "src": "4574:100:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9966, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9964, - "src": "4585:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - null, - null - ], - "id": 9967, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4584:24:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$__$__$__$__$__$", - "typeString": "tuple(uint256,,,,,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9969, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "4631:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9968, - "name": "_querySellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10175, - "src": "4611:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4611:27:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "src": "4584:54:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9972, - "nodeType": "ExpressionStatement", - "src": "4584:54:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9973, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9964, - "src": "4655:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9965, - "id": 9974, - "nodeType": "Return", - "src": "4648:19:28" - } - ] - }, - "documentation": null, - "functionSelector": "a2801e16", - "id": 9976, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "querySellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9961, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9976, - "src": "4513:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4513:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4512:16:28" - }, - "returnParameters": { - "id": 9965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9964, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9976, - "src": "4552:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4552:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4551:22:28" - }, - "scope": 10351, - "src": "4485:189:28", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9992, - "nodeType": "Block", - "src": "4764:91:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9983, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9981, - "src": "4775:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - null, - null - ], - "id": 9984, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4774:20:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$__$__$__$__$__$", - "typeString": "tuple(uint256,,,,,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9986, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9978, - "src": "4816:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9985, - "name": "_queryBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10350, - "src": "4797:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "id": 9987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4797:26:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "src": "4774:49:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9989, - "nodeType": "ExpressionStatement", - "src": "4774:49:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 9990, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9981, - "src": "4840:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9982, - "id": 9991, - "nodeType": "Return", - "src": "4833:15:28" - } - ] - }, - "documentation": null, - "functionSelector": "18c0bbe4", - "id": 9993, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "queryBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9978, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9993, - "src": "4707:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4707:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4706:16:28" - }, - "returnParameters": { - "id": 9982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9981, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9993, - "src": "4746:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4745:18:28" - }, - "scope": 10351, - "src": "4680:175:28", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 10174, - "nodeType": "Block", - "src": "5174:2431:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10010, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "5185:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10011, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "5200:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10012, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5184:31:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10013, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "5218:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 10014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5218:19:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5184:53:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10016, - "nodeType": "ExpressionStatement", - "src": "5184:53:28" - }, - { - "assignments": [ - 10018 - ], - "declarations": [ - { - "constant": false, - "id": 10018, - "mutability": "mutable", - "name": "sellBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10174, - "src": "5248:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5248:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10020, - "initialValue": { - "argumentTypes": null, - "id": 10019, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9995, - "src": "5273:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5248:31:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10021, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5294:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10022, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5308:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5308:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5308:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5294:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10040, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5537:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10041, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5551:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5551:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5551:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5537:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10137, - "nodeType": "Block", - "src": "7035:239:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10123, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7129:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10125, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "7165:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10126, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "7181:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10127, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "7198:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10124, - "name": "_RBelowSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8494, - "src": "7144:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7144:69:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7129:84:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10130, - "nodeType": "ExpressionStatement", - "src": "7129:84:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10131, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "7227:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10132, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "7240:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "7240:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7240:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "7227:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10136, - "nodeType": "ExpressionStatement", - "src": "7227:36:28" - } - ] - }, - "id": 10138, - "nodeType": "IfStatement", - "src": "5533:1741:28", - "trueBody": { - "id": 10122, - "nodeType": "Block", - "src": "5576:1453:28", - "statements": [ - { - "assignments": [ - 10046 - ], - "declarations": [ - { - "constant": false, - "id": 10046, - "mutability": "mutable", - "name": "backToOnePayBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10122, - "src": "5590:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5590:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10051, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10049, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "5635:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10047, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "5617:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5617:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5617:33:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5590:60:28" - }, - { - "assignments": [ - 10053 - ], - "declarations": [ - { - "constant": false, - "id": 10053, - "mutability": "mutable", - "name": "backToOneReceiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10122, - "src": "5664:29:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5664:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10058, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10056, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "5716:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10054, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "5696:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5696:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5696:35:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5664:67:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10059, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "5840:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 10060, - "name": "backToOnePayBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10046, - "src": "5857:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5840:33:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10086, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "6509:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10087, - "name": "backToOnePayBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10046, - "src": "6527:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6509:34:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10119, - "nodeType": "Block", - "src": "6721:298:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10100, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6798:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10106, - "name": "backToOnePayBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10046, - "src": "6898:16:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10104, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "6879:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "6879:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6879:36:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10108, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "6917:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10103, - "name": "_ROneSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8423, - "src": "6860:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6860:72:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10101, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6813:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "6813:25:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6813:137:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6798:152:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10112, - "nodeType": "ExpressionStatement", - "src": "6798:152:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10113, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "6968:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10114, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "6981:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "6981:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6981:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "6968:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10118, - "nodeType": "ExpressionStatement", - "src": "6968:36:28" - } - ] - }, - "id": 10120, - "nodeType": "IfStatement", - "src": "6505:514:28", - "trueBody": { - "id": 10099, - "nodeType": "Block", - "src": "6545:170:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10089, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6616:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10090, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6631:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6616:36:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10092, - "nodeType": "ExpressionStatement", - "src": "6616:36:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10093, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "6670:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10094, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "6683:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "6683:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6683:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "6670:30:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10098, - "nodeType": "ExpressionStatement", - "src": "6670:30:28" - } - ] - } - }, - "id": 10121, - "nodeType": "IfStatement", - "src": "5836:1183:28", - "trueBody": { - "id": 10085, - "nodeType": "Block", - "src": "5875:624:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10062, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "5945:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10064, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "5981:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10065, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "5997:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10066, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "6013:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10063, - "name": "_RAboveSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8628, - "src": "5960:20:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5960:67:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5945:82:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10069, - "nodeType": "ExpressionStatement", - "src": "5945:82:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10070, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "6045:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10071, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "6058:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "6058:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6058:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "6045:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10075, - "nodeType": "ExpressionStatement", - "src": "6045:36:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10076, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6103:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 10077, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6118:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6103:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10084, - "nodeType": "IfStatement", - "src": "6099:386:28", - "trueBody": { - "id": 10083, - "nodeType": "Block", - "src": "6141:344:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10079, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "6430:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10080, - "name": "backToOneReceiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10053, - "src": "6445:21:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6430:36:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10082, - "nodeType": "ExpressionStatement", - "src": "6430:36:28" - } - ] - } - } - ] - } - } - ] - } - }, - "id": 10139, - "nodeType": "IfStatement", - "src": "5290:1984:28", - "trueBody": { - "id": 10039, - "nodeType": "Block", - "src": "5327:200:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10026, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "5401:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10028, - "name": "sellBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10018, - "src": "5435:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10029, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "5451:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10027, - "name": "_ROneSellBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8423, - "src": "5416:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5416:50:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5401:65:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10032, - "nodeType": "ExpressionStatement", - "src": "5401:65:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10033, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "5480:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10034, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "5493:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "5493:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5493:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "5480:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10038, - "nodeType": "ExpressionStatement", - "src": "5480:36:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 10146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10140, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "7306:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10143, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7335:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10144, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "7349:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10141, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "7319:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "7319:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:44:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7306:57:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10147, - "nodeType": "ExpressionStatement", - "src": "7306:57:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10148, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10002, - "src": "7373:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10151, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7402:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10152, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "7416:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10149, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "7386:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "7386:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7386:44:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7373:57:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10155, - "nodeType": "ExpressionStatement", - "src": "7373:57:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10156, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7440:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10162, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10002, - "src": "7488:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10159, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "7472:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10157, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7455:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7455:16:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7455:28:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "7455:32:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7455:44:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7440:59:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10165, - "nodeType": "ExpressionStatement", - "src": "7440:59:28" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10166, - "name": "receiveQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "7518:12:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10167, - "name": "lpFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "7532:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10168, - "name": "mtFeeQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10002, - "src": "7544:10:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10169, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10004, - "src": "7556:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - { - "argumentTypes": null, - "id": 10170, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "7568:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10171, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10008, - "src": "7584:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10172, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7517:81:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "functionReturnParameters": 10009, - "id": 10173, - "nodeType": "Return", - "src": "7510:88:28" - } - ] - }, - "documentation": null, - "id": 10175, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_querySellBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9995, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "4890:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4890:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4889:16:28" - }, - "returnParameters": { - "id": 10009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9998, - "mutability": "mutable", - "name": "receiveQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "4966:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9997, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4966:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10000, - "mutability": "mutable", - "name": "lpFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5000:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5000:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10002, - "mutability": "mutable", - "name": "mtFeeQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5032:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5032:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10004, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5064:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 10003, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "5064:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10006, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5102:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5102:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10008, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "5138:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5138:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4952:217:28" - }, - "scope": 10351, - "src": "4861:2744:28", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10349, - "nodeType": "Block", - "src": "7917:2002:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10192, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "7928:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10193, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "7943:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10194, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "7927:31:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10195, - "name": "getExpectedTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8733, - "src": "7961:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", - "typeString": "function () view returns (uint256,uint256)" - } - }, - "id": 10196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7961:19:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "7927:53:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10198, - "nodeType": "ExpressionStatement", - "src": "7927:53:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10199, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10182, - "src": "8038:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10202, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10177, - "src": "8066:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10203, - "name": "_LP_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9453, - "src": "8074:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10200, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8050:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "8050:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8050:38:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8038:50:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10206, - "nodeType": "ExpressionStatement", - "src": "8038:50:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10207, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "8098:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10210, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10177, - "src": "8126:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10211, - "name": "_MT_FEE_RATE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9455, - "src": "8134:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10208, - "name": "DecimalMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11078, - "src": "8110:11:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DecimalMath_$11078_$", - "typeString": "type(library DecimalMath)" - } - }, - "id": 10209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11023, - "src": "8110:15:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8110:38:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8098:50:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10214, - "nodeType": "ExpressionStatement", - "src": "8098:50:28" - }, - { - "assignments": [ - 10216 - ], - "declarations": [ - { - "constant": false, - "id": 10216, - "mutability": "mutable", - "name": "buyBaseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10349, - "src": "8158:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8158:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10224, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10222, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "8208:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10219, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10182, - "src": "8193:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10217, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10177, - "src": "8182:6:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "8182:10:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8182:21:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "8182:25:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8182:36:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8158:60:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10225, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "8233:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10226, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8247:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8247:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8247:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8233:31:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10244, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "8436:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10245, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8450:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8450:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8450:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8436:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "id": 10268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10264, - "name": "_R_STATUS_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "8663:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10265, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8677:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8677:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8677:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8663:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10338, - "nodeType": "IfStatement", - "src": "8659:1161:28", - "trueBody": { - "id": 10337, - "nodeType": "Block", - "src": "8702:1118:28", - "statements": [ - { - "assignments": [ - 10270 - ], - "declarations": [ - { - "constant": false, - "id": 10270, - "mutability": "mutable", - "name": "backToOnePayQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10337, - "src": "8716:25:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8716:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10275, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10273, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "8763:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10271, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "8744:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8744:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8744:35:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8716:63:28" - }, - { - "assignments": [ - 10277 - ], - "declarations": [ - { - "constant": false, - "id": 10277, - "mutability": "mutable", - "name": "backToOneReceiveBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10337, - "src": "8793:28:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8793:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10282, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10280, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8843:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10278, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "8824:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "8824:18:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8824:33:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8793:64:28" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10283, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "8951:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 10284, - "name": "backToOneReceiveBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10277, - "src": "8967:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8951:36:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10301, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9312:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 10302, - "name": "backToOneReceiveBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10277, - "src": "9329:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9312:37:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10334, - "nodeType": "Block", - "src": "9519:291:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10315, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9596:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10321, - "name": "backToOneReceiveBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10277, - "src": "9686:20:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10319, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9668:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "9668:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9668:39:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10323, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "9709:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10318, - "name": "_ROneBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8457, - "src": "9650:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9650:73:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 10316, - "name": "backToOnePayQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10270, - "src": "9607:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "9607:21:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 10325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9607:134:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9596:145:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10327, - "nodeType": "ExpressionStatement", - "src": "9596:145:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10328, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9759:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10329, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9772:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9772:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9772:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9759:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10333, - "nodeType": "ExpressionStatement", - "src": "9759:36:28" - } - ] - }, - "id": 10335, - "nodeType": "IfStatement", - "src": "9308:502:28", - "trueBody": { - "id": 10314, - "nodeType": "Block", - "src": "9351:162:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10304, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9422:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10305, - "name": "backToOnePayQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10270, - "src": "9433:17:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9422:28:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10307, - "nodeType": "ExpressionStatement", - "src": "9422:28:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10308, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9468:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10309, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9481:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9481:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9481:17:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9468:30:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10313, - "nodeType": "ExpressionStatement", - "src": "9468:30:28" - } - ] - } - }, - "id": 10336, - "nodeType": "IfStatement", - "src": "8947:863:28", - "trueBody": { - "id": 10300, - "nodeType": "Block", - "src": "8989:313:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10286, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9155:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10288, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9186:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10289, - "name": "_QUOTE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "9201:15:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10290, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "9218:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10287, - "name": "_RBelowBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8531, - "src": "9166:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9166:67:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9155:78:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10293, - "nodeType": "ExpressionStatement", - "src": "9155:78:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10294, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9251:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10295, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "9264:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "9264:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "BELOW_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9264:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "9251:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10299, - "nodeType": "ExpressionStatement", - "src": "9251:36:28" - } - ] - } - } - ] - } - }, - "id": 10339, - "nodeType": "IfStatement", - "src": "8432:1388:28", - "trueBody": { - "id": 10263, - "nodeType": "Block", - "src": "8475:178:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10249, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "8516:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10251, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "8547:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10252, - "name": "_BASE_BALANCE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9465, - "src": "8562:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10253, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8578:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10250, - "name": "_RAboveBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8603, - "src": "8527:19:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 10254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8527:65:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8516:76:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10256, - "nodeType": "ExpressionStatement", - "src": "8516:76:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10257, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "8606:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10258, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8619:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8619:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8619:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8606:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10262, - "nodeType": "ExpressionStatement", - "src": "8606:36:28" - } - ] - } - }, - "id": 10340, - "nodeType": "IfStatement", - "src": "8229:1591:28", - "trueBody": { - "id": 10243, - "nodeType": "Block", - "src": "8266:160:28", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10230, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "8307:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10232, - "name": "buyBaseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "8336:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10233, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8351:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10231, - "name": "_ROneBuyBaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8457, - "src": "8318:17:28", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 10234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8318:47:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8307:58:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10236, - "nodeType": "ExpressionStatement", - "src": "8307:58:28" - }, - { - "expression": { - "argumentTypes": null, - "id": 10241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10237, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "8379:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10238, - "name": "Types", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11631, - "src": "8392:5:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Types_$11631_$", - "typeString": "type(library Types)" - } - }, - "id": 10239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "RStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 11630, - "src": "8392:13:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$", - "typeString": "type(enum Types.RStatus)" - } - }, - "id": 10240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ABOVE_ONE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8392:23:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "src": "8379:36:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "id": 10242, - "nodeType": "ExpressionStatement", - "src": "8379:36:28" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10341, - "name": "payQuote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "9838:8:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10342, - "name": "lpFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10182, - "src": "9848:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10343, - "name": "mtFeeBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9859:9:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10344, - "name": "newRStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10186, - "src": "9870:10:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - { - "argumentTypes": null, - "id": 10345, - "name": "newQuoteTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "9882:14:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 10346, - "name": "newBaseTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "9898:13:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10347, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9837:75:28", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_RStatus_$11630_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,enum Types.RStatus,uint256,uint256)" - } - }, - "functionReturnParameters": 10191, - "id": 10348, - "nodeType": "Return", - "src": "9830:82:28" - } - ] - }, - "documentation": null, - "id": 10350, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_queryBuyBaseToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10177, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7639:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7639:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7638:16:28" - }, - "returnParameters": { - "id": 10191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10180, - "mutability": "mutable", - "name": "payQuote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7715:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7715:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10182, - "mutability": "mutable", - "name": "lpFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7745:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7745:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10184, - "mutability": "mutable", - "name": "mtFeeBase", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7776:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7776:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10186, - "mutability": "mutable", - "name": "newRStatus", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7807:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - }, - "typeName": { - "contractScope": null, - "id": 10185, - "name": "Types.RStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11630, - "src": "7807:13:28", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RStatus_$11630", - "typeString": "enum Types.RStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10188, - "mutability": "mutable", - "name": "newQuoteTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7845:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7845:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10190, - "mutability": "mutable", - "name": "newBaseTarget", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10350, - "src": "7881:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7881:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7701:211:28" - }, - "scope": 10351, - "src": "7611:2308:28", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10352, - "src": "547:9374:28" - } - ], - "src": "78:9844:28" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.705Z", - "devdoc": { - "author": "DODO Breeder", - "methods": {}, - "title": "Trader" - }, - "userdoc": { - "methods": {}, - "notice": "Functions for trader operations" - } -} \ No newline at end of file diff --git a/build-v1/contracts/Types.json b/build-v1/contracts/Types.json deleted file mode 100644 index 71e7555..0000000 --- a/build-v1/contracts/Types.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "contractName": "Types", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":\"Types\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a71f81235df80e66b7c695f71deaa53b9a7cc588efc7c5b3bed7e3ab5f96472564736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a71f81235df80e66b7c695f71deaa53b9a7cc588efc7c5b3bed7e3ab5f96472564736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "136:62:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "136:62:42:-:0;;;;;;;;", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nlibrary Types {\n enum RStatus {ONE, ABOVE_ONE, BELOW_ONE}\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "exportedSymbols": { - "Types": [ - 11631 - ] - }, - "id": 11632, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11625, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:42" - }, - { - "id": 11626, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:42" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 11631, - "linearizedBaseContracts": [ - 11631 - ], - "name": "Types", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Types.RStatus", - "id": 11630, - "members": [ - { - "id": 11627, - "name": "ONE", - "nodeType": "EnumValue", - "src": "170:3:42" - }, - { - "id": 11628, - "name": "ABOVE_ONE", - "nodeType": "EnumValue", - "src": "175:9:42" - }, - { - "id": 11629, - "name": "BELOW_ONE", - "nodeType": "EnumValue", - "src": "186:9:42" - } - ], - "name": "RStatus", - "nodeType": "EnumDefinition", - "src": "156:40:42" - } - ], - "scope": 11632, - "src": "136:62:42" - } - ], - "src": "78:121:42" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol", - "exportedSymbols": { - "Types": [ - 11631 - ] - }, - "id": 11632, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11625, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:42" - }, - { - "id": 11626, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:42" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 11631, - "linearizedBaseContracts": [ - 11631 - ], - "name": "Types", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Types.RStatus", - "id": 11630, - "members": [ - { - "id": 11627, - "name": "ONE", - "nodeType": "EnumValue", - "src": "170:3:42" - }, - { - "id": 11628, - "name": "ABOVE_ONE", - "nodeType": "EnumValue", - "src": "175:9:42" - }, - { - "id": 11629, - "name": "BELOW_ONE", - "nodeType": "EnumValue", - "src": "186:9:42" - } - ], - "name": "RStatus", - "nodeType": "EnumDefinition", - "src": "156:40:42" - } - ], - "scope": 11632, - "src": "136:62:42" - } - ], - "src": "78:121:42" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.725Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/UQ112x112.json b/build-v1/contracts/UQ112x112.json deleted file mode 100644 index b73cf13..0000000 --- a/build-v1/contracts/UQ112x112.json +++ /dev/null @@ -1,59141 +0,0 @@ -{ - "contractName": "UQ112x112", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"UQ112x112\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220106c21fa9581850cf7a00547d5441c88396d5baa15822fa4f0c3b83257530af064736f6c63430006090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220106c21fa9581850cf7a00547d5441c88396d5baa15822fa4f0c3b83257530af064736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "8895:394:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "8895:394:21:-:0;;;;;;;;", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.624Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/UniswapArbitrageur.json b/build-v1/contracts/UniswapArbitrageur.json deleted file mode 100644 index db35288..0000000 --- a/build-v1/contracts/UniswapArbitrageur.json +++ /dev/null @@ -1,17989 +0,0 @@ -{ - "contractName": "UniswapArbitrageur", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_uniswap", - "type": "address" - }, - { - "internalType": "address", - "name": "_dodo", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "_BASE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_DODO_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_QUOTE_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_REVERSE_", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_UNISWAP_", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "executeBuyArbitrage", - "outputs": [ - { - "internalType": "uint256", - "name": "quoteProfit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "executeSellArbitrage", - "outputs": [ - { - "internalType": "uint256", - "name": "baseProfit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "isDODOBuy", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "dodoCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "retrieve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_uniswap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_dodo\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"_BASE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DODO_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_REVERSE_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_UNISWAP_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isDODOBuy\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"baseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"dodoCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAmount\",\"type\":\"uint256\"}],\"name\":\"executeBuyArbitrage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"quoteProfit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAmount\",\"type\":\"uint256\"}],\"name\":\"executeSellArbitrage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseProfit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"retrieve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapArbitrageur.sol\":\"UniswapArbitrageur\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapArbitrageur.sol\":{\"keccak256\":\"0xdc579c56e5f96b8d2b8490aba8b175063e185ab989f2c868a2c698ccc8a370b6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7c51ce6b69657968d20de307f4d85e66f439ad448c1bf2c89352b0f508b3e74b\",\"dweb:/ipfs/QmYAg4jZeQCA1pM9y85F1kYZ1QL2GoBeDLRckduGG9M4Ti\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040516200159d3803806200159d833981016040819052620000349162000481565b600080546001600160a01b038085166001600160a01b0319928316178355600180548583169316929092179182905560408051632512469560e11b815290519290911692634a248d2a926004808401936020939083900390910190829087803b158015620000a157600080fd5b505af1158015620000b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000dc919062000451565b600280546001600160a01b0319166001600160a01b0392831617905560015460408051636a5cb82360e11b81529051919092169163d4b970469160048083019260209291908290030181600087803b1580156200013857600080fd5b505af11580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000173919062000451565b600380546001600160a01b0319166001600160a01b039283161790556000805460408051630dfe168160e01b8152905192939190911691630dfe168191600480820192602092909190829003018186803b158015620001d157600080fd5b505afa158015620001e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020c919062000451565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025e57600080fd5b505afa15801562000273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000299919062000451565b6002549091506001600160a01b038381169116148015620002c757506003546001600160a01b038281169116145b15620002e0576003805460ff60a01b1916905562000325565b6003546001600160a01b0383811691161480156200030b57506002546001600160a01b038281169116145b1562000325576003805460ff60a01b1916600160a01b1790555b60025460015460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926200035f9291169060001990600401620004e1565b602060405180830381600087803b1580156200037a57600080fd5b505af11580156200038f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b59190620004bf565b5060035460015460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392620003f09291169060001990600401620004e1565b602060405180830381600087803b1580156200040b57600080fd5b505af115801562000420573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004469190620004bf565b505050505062000513565b60006020828403121562000463578081fd5b81516001600160a01b03811681146200047a578182fd5b9392505050565b6000806040838503121562000494578081fd5b8251620004a181620004fa565b6020840151909250620004b481620004fa565b809150509250929050565b600060208284031215620004d1578081fd5b815180151581146200047a578182fd5b6001600160a01b03929092168252602082015260400190565b6001600160a01b03811681146200051057600080fd5b50565b61107a80620005236000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063919d365d11610066578063919d365d146100e8578063949805ff14610108578063c3a2a6651461011b578063ca436ea41461012e578063f4c7076a1461013657610093565b806323208b5a1461009857806325755c95146100b657806360378cea146100be57806375103e15146100d3575b600080fd5b6100a061013e565b6040516100ad9190610e2d565b60405180910390f35b6100a061014d565b6100d16100cc366004610cc6565b61015c565b005b6100db6101c3565b6040516100ad9190610e5a565b6100fb6100f6366004610dae565b6101d3565b6040516100ad9190610fc1565b6100fb610116366004610dae565b610364565b6100d1610129366004610c74565b61049f565b6100a06104bd565b6100a06104cc565b6001546001600160a01b031681565b6000546001600160a01b031681565b6001546001600160a01b0316331461018f5760405162461bcd60e51b815260040161018690610e65565b60405180910390fd5b600354600160a01b900460ff16156101b1576101ac8585856104db565b6101bc565b6101bc858585610836565b5050505050565b600354600160a01b900460ff1681565b600154604051638dae733360e01b81526000916001600160a01b031690638dae7333906102069085908590600401610fca565b602060405180830381600087803b15801561022057600080fd5b505af1158015610234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102589190610dc6565b506002546040516370a0823160e01b81526001600160a01b03909116906370a0823190610289903090600401610e2d565b60206040518083038186803b1580156102a157600080fd5b505afa1580156102b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d99190610dc6565b60025460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb9061030c9033908590600401610e41565b602060405180830381600087803b15801561032657600080fd5b505af115801561033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035e9190610caa565b50919050565b60015460405163733e738360e11b81526000916001600160a01b03169063e67ce7069061039990859060001990600401610fca565b602060405180830381600087803b1580156103b357600080fd5b505af11580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190610dc6565b506003546040516370a0823160e01b81526001600160a01b03909116906370a082319061041c903090600401610e2d565b60206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c9190610dc6565b60035460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb9061030c9033908590600401610e41565b6104b96001600160a01b038316338363ffffffff610a9a16565b5050565b6003546001600160a01b031681565b6002546001600160a01b031681565b6000805460408051630240bc6b60e21b8152905183926001600160a01b031691630902f1ac916004808301926060929190829003018186803b15801561052057600080fd5b505afa158015610534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105589190610d5a565b5090925090506001600160701b0380831690821660008088156106e65760025460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926105ab929116908c90600401610e41565b602060405180830381600087803b1580156105c557600080fd5b505af11580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190610caa565b50600061062f610613858b63ffffffff610af516565b610623878763ffffffff610b2316565b9063ffffffff610b5d16565b90506106596127106106236126f161064d898663ffffffff610b8f16565b9063ffffffff610b2316565b925087831161067a5760405162461bcd60e51b815260040161018690610f76565b60005460405163022c0d9f60e01b81526001600160a01b039091169063022c0d9f906106ae90869086903090600401610ff0565b600060405180830381600087803b1580156106c857600080fd5b505af11580156106dc573d6000803e3d6000fd5b505050505061082b565b60035460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261071c929116908b90600401610e41565b602060405180830381600087803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e9190610caa565b506000610784610613868a63ffffffff610af516565b90506107a26127106106236126f161064d888663ffffffff610b8f16565b91508882116107c35760405162461bcd60e51b815260040161018690610f76565b60005460405163022c0d9f60e01b81526001600160a01b039091169063022c0d9f906107f790869086903090600401610ff0565b600060405180830381600087803b15801561081157600080fd5b505af1158015610825573d6000803e3d6000fd5b50505050505b505050505050505050565b6000805460408051630240bc6b60e21b8152905183926001600160a01b031691630902f1ac916004808301926060929190829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190610d5a565b5090925090506001600160701b0380831690821660008088156109bd5760025460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92610906929116908c90600401610e41565b602060405180830381600087803b15801561092057600080fd5b505af1158015610934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109589190610caa565b50600061097e61096e868b63ffffffff610af516565b610623868863ffffffff610b2316565b905061099c6127106106236126f161064d888663ffffffff610b8f16565b915087821161067a5760405162461bcd60e51b815260040161018690610f76565b60035460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926109f3929116908b90600401610e41565b602060405180830381600087803b158015610a0d57600080fd5b505af1158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a459190610caa565b506000610a5b61096e858a63ffffffff610af516565b9050610a796127106106236126f161064d898663ffffffff610b8f16565b92508883116107c35760405162461bcd60e51b815260040161018690610f76565b610af08363a9059cbb60e01b8484604051602401610ab9929190610e41565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610bb7565b505050565b600082820183811015610b1a5760405162461bcd60e51b815260040161018690610f09565b90505b92915050565b600082610b3257506000610b1d565b82820282848281610b3f57fe5b0414610b1a5760405162461bcd60e51b815260040161018690610f9e565b6000808211610b7e5760405162461bcd60e51b815260040161018690610ebe565b818381610b8757fe5b049392505050565b600082821115610bb15760405162461bcd60e51b815260040161018690610ee6565b50900390565b60006060836001600160a01b031683604051610bd39190610df4565b6000604051808303816000865af19150503d8060008114610c10576040519150601f19603f3d011682016040523d82523d6000602084013e610c15565b606091505b509150915081610c375760405162461bcd60e51b815260040161018690610e89565b805115610c6e5780806020019051810190610c529190610caa565b610c6e5760405162461bcd60e51b815260040161018690610f2c565b50505050565b60008060408385031215610c86578182fd5b82356001600160a01b0381168114610c9c578283fd5b946020939093013593505050565b600060208284031215610cbb578081fd5b8151610b1a8161101e565b600080600080600060808688031215610cdd578081fd5b8535610ce88161101e565b94506020860135935060408601359250606086013567ffffffffffffffff80821115610d12578283fd5b81880189601f820112610d23578384fd5b8035925081831115610d33578384fd5b896020848301011115610d44578384fd5b6020810194505050809150509295509295909350565b600080600060608486031215610d6e578283fd5b8351610d798161102f565b6020850151909350610d8a8161102f565b604085015190925063ffffffff81168114610da3578182fd5b809150509250925092565b600060208284031215610dbf578081fd5b5035919050565b600060208284031215610dd7578081fd5b5051919050565b60038152620c1e1960ea1b602082015260400190565b60008251815b81811015610e145760208186018101518583015201610dfa565b81811115610e225782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600a908201526957524f4e475f444f444f60b01b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600e908201526d4e4f545f50524f46495441424c4560901b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b600083825282602083015260606040830152610fe860608301610dde565b949350505050565b92835260208301919091526001600160a01b0316604082015260806060820181905260009082015260a00190565b801515811461102c57600080fd5b50565b6001600160701b038116811461102c57600080fdfea26469706673582212201ea39c0ccb151d3e43c2b6a501dfd3dbb90b6a942e145fb823668cef61e177ae64736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063919d365d11610066578063919d365d146100e8578063949805ff14610108578063c3a2a6651461011b578063ca436ea41461012e578063f4c7076a1461013657610093565b806323208b5a1461009857806325755c95146100b657806360378cea146100be57806375103e15146100d3575b600080fd5b6100a061013e565b6040516100ad9190610e2d565b60405180910390f35b6100a061014d565b6100d16100cc366004610cc6565b61015c565b005b6100db6101c3565b6040516100ad9190610e5a565b6100fb6100f6366004610dae565b6101d3565b6040516100ad9190610fc1565b6100fb610116366004610dae565b610364565b6100d1610129366004610c74565b61049f565b6100a06104bd565b6100a06104cc565b6001546001600160a01b031681565b6000546001600160a01b031681565b6001546001600160a01b0316331461018f5760405162461bcd60e51b815260040161018690610e65565b60405180910390fd5b600354600160a01b900460ff16156101b1576101ac8585856104db565b6101bc565b6101bc858585610836565b5050505050565b600354600160a01b900460ff1681565b600154604051638dae733360e01b81526000916001600160a01b031690638dae7333906102069085908590600401610fca565b602060405180830381600087803b15801561022057600080fd5b505af1158015610234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102589190610dc6565b506002546040516370a0823160e01b81526001600160a01b03909116906370a0823190610289903090600401610e2d565b60206040518083038186803b1580156102a157600080fd5b505afa1580156102b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d99190610dc6565b60025460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb9061030c9033908590600401610e41565b602060405180830381600087803b15801561032657600080fd5b505af115801561033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035e9190610caa565b50919050565b60015460405163733e738360e11b81526000916001600160a01b03169063e67ce7069061039990859060001990600401610fca565b602060405180830381600087803b1580156103b357600080fd5b505af11580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190610dc6565b506003546040516370a0823160e01b81526001600160a01b03909116906370a082319061041c903090600401610e2d565b60206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c9190610dc6565b60035460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb9061030c9033908590600401610e41565b6104b96001600160a01b038316338363ffffffff610a9a16565b5050565b6003546001600160a01b031681565b6002546001600160a01b031681565b6000805460408051630240bc6b60e21b8152905183926001600160a01b031691630902f1ac916004808301926060929190829003018186803b15801561052057600080fd5b505afa158015610534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105589190610d5a565b5090925090506001600160701b0380831690821660008088156106e65760025460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926105ab929116908c90600401610e41565b602060405180830381600087803b1580156105c557600080fd5b505af11580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190610caa565b50600061062f610613858b63ffffffff610af516565b610623878763ffffffff610b2316565b9063ffffffff610b5d16565b90506106596127106106236126f161064d898663ffffffff610b8f16565b9063ffffffff610b2316565b925087831161067a5760405162461bcd60e51b815260040161018690610f76565b60005460405163022c0d9f60e01b81526001600160a01b039091169063022c0d9f906106ae90869086903090600401610ff0565b600060405180830381600087803b1580156106c857600080fd5b505af11580156106dc573d6000803e3d6000fd5b505050505061082b565b60035460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261071c929116908b90600401610e41565b602060405180830381600087803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e9190610caa565b506000610784610613868a63ffffffff610af516565b90506107a26127106106236126f161064d888663ffffffff610b8f16565b91508882116107c35760405162461bcd60e51b815260040161018690610f76565b60005460405163022c0d9f60e01b81526001600160a01b039091169063022c0d9f906107f790869086903090600401610ff0565b600060405180830381600087803b15801561081157600080fd5b505af1158015610825573d6000803e3d6000fd5b50505050505b505050505050505050565b6000805460408051630240bc6b60e21b8152905183926001600160a01b031691630902f1ac916004808301926060929190829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190610d5a565b5090925090506001600160701b0380831690821660008088156109bd5760025460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92610906929116908c90600401610e41565b602060405180830381600087803b15801561092057600080fd5b505af1158015610934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109589190610caa565b50600061097e61096e868b63ffffffff610af516565b610623868863ffffffff610b2316565b905061099c6127106106236126f161064d888663ffffffff610b8f16565b915087821161067a5760405162461bcd60e51b815260040161018690610f76565b60035460005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926109f3929116908b90600401610e41565b602060405180830381600087803b158015610a0d57600080fd5b505af1158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a459190610caa565b506000610a5b61096e858a63ffffffff610af516565b9050610a796127106106236126f161064d898663ffffffff610b8f16565b92508883116107c35760405162461bcd60e51b815260040161018690610f76565b610af08363a9059cbb60e01b8484604051602401610ab9929190610e41565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610bb7565b505050565b600082820183811015610b1a5760405162461bcd60e51b815260040161018690610f09565b90505b92915050565b600082610b3257506000610b1d565b82820282848281610b3f57fe5b0414610b1a5760405162461bcd60e51b815260040161018690610f9e565b6000808211610b7e5760405162461bcd60e51b815260040161018690610ebe565b818381610b8757fe5b049392505050565b600082821115610bb15760405162461bcd60e51b815260040161018690610ee6565b50900390565b60006060836001600160a01b031683604051610bd39190610df4565b6000604051808303816000865af19150503d8060008114610c10576040519150601f19603f3d011682016040523d82523d6000602084013e610c15565b606091505b509150915081610c375760405162461bcd60e51b815260040161018690610e89565b805115610c6e5780806020019051810190610c529190610caa565b610c6e5760405162461bcd60e51b815260040161018690610f2c565b50505050565b60008060408385031215610c86578182fd5b82356001600160a01b0381168114610c9c578283fd5b946020939093013593505050565b600060208284031215610cbb578081fd5b8151610b1a8161101e565b600080600080600060808688031215610cdd578081fd5b8535610ce88161101e565b94506020860135935060408601359250606086013567ffffffffffffffff80821115610d12578283fd5b81880189601f820112610d23578384fd5b8035925081831115610d33578384fd5b896020848301011115610d44578384fd5b6020810194505050809150509295509295909350565b600080600060608486031215610d6e578283fd5b8351610d798161102f565b6020850151909350610d8a8161102f565b604085015190925063ffffffff81168114610da3578182fd5b809150509250925092565b600060208284031215610dbf578081fd5b5035919050565b600060208284031215610dd7578081fd5b5051919050565b60038152620c1e1960ea1b602082015260400190565b60008251815b81811015610e145760208186018101518583015201610dfa565b81811115610e225782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600a908201526957524f4e475f444f444f60b01b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600e908201526d4e4f545f50524f46495441424c4560901b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b600083825282602083015260606040830152610fe860608301610dde565b949350505050565b92835260208301919091526001600160a01b0316604082015260806060820181905260009082015260a00190565b801515811461102c57600080fd5b50565b6001600160701b038116811461102c57600080fdfea26469706673582212201ea39c0ccb151d3e43c2b6a501dfd3dbb90b6a942e145fb823668cef61e177ae64736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "825:4996:20:-:0;;;1106:696;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:9;:20;;-1:-1:-1;;;;;1168:20:20;;;-1:-1:-1;;;;;;1168:20:20;;;;;;;1198:14;;;;;;;;;;;;;;;1232:28;;;-1:-1:-1;;;1232:28:20;;;;1238:6;;;;;1232:26;;:28;;;;;;;;;;;;;;;;;1238:6;1232:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1223:6;:37;;-1:-1:-1;;;;;;1223:37:20;-1:-1:-1;;;;;1223:37:20;;;;;;-1:-1:-1;1286:6:20;1280:29;;;-1:-1:-1;;;1280:29:20;;;;1286:6;;;;;1280:27;;:29;;;;;;;;;;;;;;-1:-1:-1;1286:6:20;1280:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:7;:39;;-1:-1:-1;;;;;;1270:39:20;-1:-1:-1;;;;;1270:39:20;;;;;;-1:-1:-1;1352:9:20;;1337:34;;;-1:-1:-1;;;1337:34:20;;;;-1:-1:-1;;1352:9:20;;;;;1337:32;;:34;;;;;;;;;;;;;;;1352:9;1337:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1320:51;;1381:14;1413:9;;;;;;;;;-1:-1:-1;;;;;1413:9:20;-1:-1:-1;;;;;1398:32:20;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:6;;1381:51;;-1:-1:-1;;;;;;1447:16:20;;;1457:6;;1447:16;:37;;;;-1:-1:-1;1477:7:20;;-1:-1:-1;;;;;1467:17:20;;;1477:7;;1467:17;1447:37;1443:245;;;1500:9;:17;;-1:-1:-1;;;;1500:17:20;;;1443:245;;;1548:7;;-1:-1:-1;;;;;1538:17:20;;;1548:7;;1538:17;:37;;;;-1:-1:-1;1569:6:20;;-1:-1:-1;;;;;1559:16:20;;;1569:6;;1559:16;1538:37;1534:154;;;1591:9;:16;;-1:-1:-1;;;;1591:16:20;-1:-1:-1;;;1591:16:20;;;1534:154;1705:6;;;1721;1698:43;;-1:-1:-1;;;1698:43:20;;-1:-1:-1;;;;;1705:6:20;;;;1698:22;;:43;;1721:6;;;-1:-1:-1;;1737:2:20;1698:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1758:7:20;;;1775:6;1751:44;;-1:-1:-1;;;1751:44:20;;-1:-1:-1;;;;;1758:7:20;;;;1751:23;;:44;;1775:6;;;-1:-1:-1;;1791:2:20;1751:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1106:696;;;;825:4996;;281:263:-1;;396:2;384:9;375:7;371:23;367:32;364:2;;;-1:-1;;402:12;364:2;83:13;;-1:-1;;;;;2979:54;;3183:35;;3173:2;;-1:-1;;3222:12;3173:2;454:74;358:186;-1:-1;;;358:186;551:399;;;683:2;671:9;662:7;658:23;654:32;651:2;;;-1:-1;;689:12;651:2;89:6;83:13;101:33;128:5;101:33;;;852:2;902:22;;83:13;741:74;;-1:-1;101:33;83:13;101:33;;;860:74;;;;645:305;;;;;;957:257;;1069:2;1057:9;1048:7;1044:23;1040:32;1037:2;;;-1:-1;;1075:12;1037:2;227:6;221:13;3329:5;2891:13;2884:21;3307:5;3304:32;3294:2;;-1:-1;;3340:12;1792:333;-1:-1;;;;;2979:54;;;;1292:37;;2111:2;2096:18;;1743:37;1947:2;1932:18;;1918:207;3124:117;-1:-1;;;;;2979:54;;3183:35;;3173:2;;3232:1;;3222:12;3173:2;3167:74;;;825:4996:20;;;;;;", - "deployedSourceMap": "825:4996:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;954:21;;;:::i;:::-;;;;;;;;;;;;;;;;924:24;;;:::i;2434:377::-;;;;;;;;;:::i;:::-;;1037:21;;;:::i;:::-;;;;;;;;2128:300;;;;;;;;;:::i;:::-;;;;;;;;1808:314;;;;;;;;;:::i;5698:121::-;;;;;;;;;:::i;1008:22::-;;;:::i;981:21::-;;;:::i;954:::-;;;-1:-1:-1;;;;;954:21:20;;:::o;924:24::-;;;-1:-1:-1;;;;;924:24:20;;:::o;2434:377::-;2604:6;;-1:-1:-1;;;;;2604:6:20;2590:10;:20;2582:43;;;;-1:-1:-1;;;2582:43:20;;;;;;;;;;;;;;;;;2639:9;;-1:-1:-1;;;2639:9:20;;;;2635:170;;;2664:53;2682:9;2693:10;2705:11;2664:17;:53::i;:::-;2635:170;;;2748:46;2759:9;2770:10;2782:11;2748:10;:46::i;:::-;2434:377;;;;;:::o;1037:21::-;;;-1:-1:-1;;;1037:21:20;;;;;:::o;2128:300::-;2232:6;;2226:49;;-1:-1:-1;;;2226:49:20;;2196:18;;-1:-1:-1;;;;;2232:6:20;;2226:27;;:49;;2254:10;;2196:18;;2226:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:6:20;;2298:39;;-1:-1:-1;;;2298:39:20;;-1:-1:-1;;;;;2305:6:20;;;;2298:24;;:39;;2331:4;;2298:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:6;;2347:47;;-1:-1:-1;;;2347:47:20;;2285:52;;-1:-1:-1;;;;;;2354:6:20;;2347:23;;:47;;2371:10;;2285:52;;2347:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2128:300:20;;;:::o;1808:314::-;1912:6;;1906:58;;-1:-1:-1;;;1906:58:20;;1875:19;;-1:-1:-1;;;;;1912:6:20;;1906:26;;:58;;1933:10;;-1:-1:-1;;1953:2:20;1906:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1995:7:20;;1988:40;;-1:-1:-1;;;1988:40:20;;-1:-1:-1;;;;;1995:7:20;;;;1988:25;;:40;;2022:4;;1988:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2045:7;;2038:49;;-1:-1:-1;;;2038:49:20;;1974:54;;-1:-1:-1;;;;;;2045:7:20;;2038:24;;:49;;2063:10;;1974:54;;2038:49;;;;5698:121;5766:46;-1:-1:-1;;;;;5766:26:20;;5793:10;5805:6;5766:46;:26;:46;:::i;:::-;5698:121;;:::o;1008:22::-;;;-1:-1:-1;;;;;1008:22:20;;:::o;981:21::-;;;-1:-1:-1;;;;;981:21:20;;:::o;2817:1438::-;2951:17;3008:9;;2993:39;;;-1:-1:-1;;;2993:39:20;;;;2951:17;;-1:-1:-1;;;;;3008:9:20;;2993:37;;:39;;;;;;;;;;;;;;3008:9;2993:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2950:82:20;;-1:-1:-1;2950:82:20;-1:-1:-1;;;;;;3066:18:20;;;;3118;;3042:21;;3206:1043;;;;3242:6;;;3259:9;3235:46;;-1:-1:-1;;;3235:46:20;;-1:-1:-1;;;;;3242:6:20;;;;3235:23;;:46;;3259:9;;;3270:10;;3235:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3339:24:20;3366:97;3420:29;:13;3438:10;3420:29;:17;:29;:::i;:::-;3366:32;:13;3384;3366:32;:17;:32;:::i;:::-;:36;:97;:36;:97;:::i;:::-;3339:124;-1:-1:-1;3492:56:20;3542:5;3492:45;3532:4;3492:35;:13;3339:124;3492:35;:17;:35;:::i;:::-;:39;:45;:39;:45;:::i;:56::-;3477:71;;3599:11;3584:12;:26;3576:53;;;;-1:-1:-1;;;3576:53:20;;;;;;;;;3658:9;;3643:77;;-1:-1:-1;;;3643:77:20;;-1:-1:-1;;;;;3658:9:20;;;;3643:30;;:77;;3674:12;;3688;;3710:4;;3643:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3206:1043;;;;3758:7;;;3776:9;3751:48;;-1:-1:-1;;;3751:48:20;;-1:-1:-1;;;;;3758:7:20;;;;3751:24;;:48;;3776:9;;;3787:11;;3751:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3857:24:20;3884:98;3938:30;:13;3956:11;3938:30;:17;:30;:::i;3884:98::-;3857:125;-1:-1:-1;4011:56:20;4061:5;4011:45;4051:4;4011:35;:13;3857:125;4011:35;:17;:35;:::i;:56::-;3996:71;;4118:10;4103:12;:25;4095:52;;;;-1:-1:-1;;;4095:52:20;;;;;;;;;4176:9;;4161:77;;-1:-1:-1;;;4161:77:20;;-1:-1:-1;;;;;4176:9:20;;;;4161:30;;:77;;4192:12;;4206;;4228:4;;4161:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3206:1043;;2817:1438;;;;;;;;;:::o;4261:1431::-;4388:17;4445:9;;4430:39;;;-1:-1:-1;;;4430:39:20;;;;4388:17;;-1:-1:-1;;;;;4445:9:20;;4430:37;;:39;;;;;;;;;;;;;;4445:9;4430:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4387:82:20;;-1:-1:-1;4387:82:20;-1:-1:-1;;;;;;4503:18:20;;;;4555;;4479:21;;4643:1043;;;;4679:6;;;4696:9;4672:46;;-1:-1:-1;;;4672:46:20;;-1:-1:-1;;;;;4679:6:20;;;;4672:23;;:46;;4696:9;;;4707:10;;4672:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4776:24:20;4803:97;4857:29;:13;4875:10;4857:29;:17;:29;:::i;:::-;4803:32;:13;4821;4803:32;:17;:32;:::i;:97::-;4776:124;-1:-1:-1;4929:56:20;4979:5;4929:45;4969:4;4929:35;:13;4776:124;4929:35;:17;:35;:::i;:56::-;4914:71;;5036:11;5021:12;:26;5013:53;;;;-1:-1:-1;;;5013:53:20;;;;;;;;4643:1043;5195:7;;;5213:9;5188:48;;-1:-1:-1;;;5188:48:20;;-1:-1:-1;;;;;5195:7:20;;;;5188:24;;:48;;5213:9;;;5224:11;;5188:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5294:24:20;5321:98;5375:30;:13;5393:11;5375:30;:17;:30;:::i;5321:98::-;5294:125;-1:-1:-1;5448:56:20;5498:5;5448:45;5488:4;5448:35;:13;5294:125;5448:35;:17;:35;:::i;:56::-;5433:71;;5555:10;5540:12;:25;5532:52;;;;-1:-1:-1;;;5532:52:20;;;;;;;;804:205:40;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;1074:157:41:-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;-1:-1:-1;1074:157:41;;;;;:::o;281:217::-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;504:138;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;934:134::-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;2335:1027:40:-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;;2335:1027;;;;:::o;1324:366:-1:-;;;1445:2;1433:9;1424:7;1420:23;1416:32;1413:2;;;-1:-1;;1451:12;1413:2;72:20;;-1:-1;;;;;16078:54;;17156:35;;17146:2;;-1:-1;;17195:12;17146:2;1503:63;1603:2;1642:22;;;;974:20;;-1:-1;;;1407:283;1697:257;;1809:2;1797:9;1788:7;1784:23;1780:32;1777:2;;;-1:-1;;1815:12;1777:2;354:6;348:13;366:30;390:5;366:30;;1961:735;;;;;;2132:3;2120:9;2111:7;2107:23;2103:33;2100:2;;;-1:-1;;2139:12;2100:2;219:6;206:20;231:30;255:5;231:30;;;2191:60;-1:-1;2288:2;2327:22;;974:20;;-1:-1;2396:2;2435:22;;974:20;;-1:-1;2532:2;2517:18;;2504:32;2556:18;2545:30;;;2542:2;;;-1:-1;;2578:12;2542:2;2663:6;2652:9;2648:22;536:3;529:4;521:6;517:17;513:27;503:2;;-1:-1;;544:12;503:2;587:6;574:20;564:30;;2556:18;606:6;603:30;600:2;;;-1:-1;;636:12;600:2;731:3;2288:2;711:17;672:6;697:32;;694:41;691:2;;;-1:-1;;738:12;691:2;2288;672:6;668:17;2606:74;;;;;;;;2094:602;;;;;;;;;2703:533;;;;2851:2;2839:9;2830:7;2826:23;2822:32;2819:2;;;-1:-1;;2857:12;2819:2;850:6;844:13;862:33;889:5;862:33;;;3020:2;3070:22;;844:13;2909:74;;-1:-1;862:33;844:13;862:33;;;3139:2;3188:22;;1262:13;3028:74;;-1:-1;16295:10;16284:22;;17645:34;;17635:2;;-1:-1;;17683:12;17635:2;3147:73;;;;2813:423;;;;;;3243:241;;3347:2;3335:9;3326:7;3322:23;3318:32;3315:2;;;-1:-1;;3353:12;3315:2;-1:-1;974:20;;3309:175;-1:-1;3309:175;3491:263;;3606:2;3594:9;3585:7;3581:23;3577:32;3574:2;;;-1:-1;;3612:12;3574:2;-1:-1;1122:13;;3568:186;-1:-1;3568:186;5314:300;5536:1;15317:19;;-1:-1;;;15366:4;15357:14;;5551:26;5596:12;;;5459:155;7996:271;;4301:5;15173:12;-1:-1;16893:101;16907:6;16904:1;16901:13;16893:101;;;4445:4;16974:11;;;;;16968:18;16955:11;;;16948:39;16922:10;16893:101;;;17009:6;17006:1;17003:13;17000:2;;;-1:-1;17065:6;17060:3;17056:16;17049:27;17000:2;-1:-1;4476:16;;;;;8130:137;-1:-1;;8130:137;8274:222;-1:-1;;;;;16078:54;;;;3981:37;;8401:2;8386:18;;8372:124;8503:349;-1:-1;;;;;16078:54;;;;3840:58;;8838:2;8823:18;;7947:37;8666:2;8651:18;;8637:215;9199:210;15874:13;;15867:21;4095:34;;9320:2;9305:18;;9291:118;9416:416;9616:2;9630:47;;;4878:2;9601:18;;;15317:19;-1:-1;;;15357:14;;;4894:33;4946:12;;;9587:245;9839:416;10039:2;10053:47;;;10024:18;;;15317:19;5233:34;15357:14;;;5213:55;5287:12;;;10010:245;10262:416;10462:2;10476:47;;;5847:2;10447:18;;;15317:19;-1:-1;;;15357:14;;;5863:37;5919:12;;;10433:245;10685:416;10885:2;10899:47;;;6170:1;10870:18;;;15317:19;-1:-1;;;15357:14;;;6185:32;6236:12;;;10856:245;11108:416;11308:2;11322:47;;;6756:1;11293:18;;;15317:19;-1:-1;;;15357:14;;;6771:32;6822:12;;;11279:245;11531:416;11731:2;11745:47;;;7073:2;11716:18;;;15317:19;7109:34;15357:14;;;7089:55;-1:-1;;;7164:12;;;7157:34;7210:12;;;11702:245;11954:416;12154:2;12168:47;;;7461:2;12139:18;;;15317:19;-1:-1;;;15357:14;;;7477:37;7533:12;;;12125:245;12377:416;12577:2;12591:47;;;7784:1;12562:18;;;15317:19;-1:-1;;;15357:14;;;7799:32;7850:12;;;12548:245;12800:222;7947:37;;;12927:2;12912:18;;12898:124;13029:652;;7977:5;7954:3;7947:37;16541:24;13464:2;13453:9;13449:18;4583:58;13292:2;13501;13490:9;13486:18;13479:48;13541:130;13292:2;13281:9;13277:18;13541:130;;;13533:138;13263:418;-1:-1;;;;13263:418;13688:748;7947:37;;;14136:2;14121:18;;7947:37;;;;-1:-1;;;;;16078:54;14219:2;14204:18;;3981:37;13971:3;14256:2;14241:18;;14234:48;;;13688:748;13956:19;;;15317;16089:42;15357:14;;13942:494;17221:111;17302:5;15874:13;15867:21;17280:5;17277:32;17267:2;;17323:1;;17313:12;17267:2;17261:71;;17339:117;-1:-1;;;;;17426:5;15962:42;17401:5;17398:35;17388:2;;17447:1;;17437:12", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Ownable} from \"../lib/Ownable.sol\";\nimport {IDODO} from \"../intf/IDODO.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\ninterface IUniswapV2Pair {\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n}\n\ncontract UniswapArbitrageur {\n using SafeMath for uint256;\n using SafeERC20 for IERC20;\n\n address public _UNISWAP_;\n address public _DODO_;\n address public _BASE_;\n address public _QUOTE_;\n\n bool public _REVERSE_; // true if dodo.baseToken=uniswap.token0\n\n constructor(address _uniswap, address _dodo) public {\n _UNISWAP_ = _uniswap;\n _DODO_ = _dodo;\n\n _BASE_ = IDODO(_DODO_)._BASE_TOKEN_();\n _QUOTE_ = IDODO(_DODO_)._QUOTE_TOKEN_();\n\n address token0 = IUniswapV2Pair(_UNISWAP_).token0();\n address token1 = IUniswapV2Pair(_UNISWAP_).token1();\n\n if (token0 == _BASE_ && token1 == _QUOTE_) {\n _REVERSE_ = false;\n } else if (token0 == _QUOTE_ && token1 == _BASE_) {\n _REVERSE_ = true;\n } else {\n require(true, \"DODO_UNISWAP_NOT_MATCH\");\n }\n\n IERC20(_BASE_).approve(_DODO_, uint256(-1));\n IERC20(_QUOTE_).approve(_DODO_, uint256(-1));\n }\n\n function executeBuyArbitrage(uint256 baseAmount) external returns (uint256 quoteProfit) {\n IDODO(_DODO_).buyBaseToken(baseAmount, uint256(-1), \"0xd\");\n quoteProfit = IERC20(_QUOTE_).balanceOf(address(this));\n IERC20(_QUOTE_).transfer(msg.sender, quoteProfit);\n return quoteProfit;\n }\n\n function executeSellArbitrage(uint256 baseAmount) external returns (uint256 baseProfit) {\n IDODO(_DODO_).sellBaseToken(baseAmount, 0, \"0xd\");\n baseProfit = IERC20(_BASE_).balanceOf(address(this));\n IERC20(_BASE_).transfer(msg.sender, baseProfit);\n return baseProfit;\n }\n\n function dodoCall(\n bool isDODOBuy,\n uint256 baseAmount,\n uint256 quoteAmount,\n bytes calldata\n ) external {\n require(msg.sender == _DODO_, \"WRONG_DODO\");\n if (_REVERSE_) {\n _inverseArbitrage(isDODOBuy, baseAmount, quoteAmount);\n } else {\n _arbitrage(isDODOBuy, baseAmount, quoteAmount);\n }\n }\n\n function _inverseArbitrage(\n bool isDODOBuy,\n uint256 baseAmount,\n uint256 quoteAmount\n ) internal {\n (uint112 _reserve0, uint112 _reserve1, ) = IUniswapV2Pair(_UNISWAP_).getReserves();\n uint256 token0Balance = uint256(_reserve0);\n uint256 token1Balance = uint256(_reserve1);\n uint256 token0Amount;\n uint256 token1Amount;\n if (isDODOBuy) {\n IERC20(_BASE_).transfer(_UNISWAP_, baseAmount);\n // transfer token1 into uniswap\n uint256 newToken0Balance = token0Balance.mul(token1Balance).div(\n token1Balance.add(baseAmount)\n );\n token0Amount = token0Balance.sub(newToken0Balance).mul(9969).div(10000); // mul 0.9969\n require(token0Amount > quoteAmount, \"NOT_PROFITABLE\");\n IUniswapV2Pair(_UNISWAP_).swap(token0Amount, token1Amount, address(this), \"\");\n } else {\n IERC20(_QUOTE_).transfer(_UNISWAP_, quoteAmount);\n // transfer token0 into uniswap\n uint256 newToken1Balance = token0Balance.mul(token1Balance).div(\n token0Balance.add(quoteAmount)\n );\n token1Amount = token1Balance.sub(newToken1Balance).mul(9969).div(10000); // mul 0.9969\n require(token1Amount > baseAmount, \"NOT_PROFITABLE\");\n IUniswapV2Pair(_UNISWAP_).swap(token0Amount, token1Amount, address(this), \"\");\n }\n }\n\n function _arbitrage(\n bool isDODOBuy,\n uint256 baseAmount,\n uint256 quoteAmount\n ) internal {\n (uint112 _reserve0, uint112 _reserve1, ) = IUniswapV2Pair(_UNISWAP_).getReserves();\n uint256 token0Balance = uint256(_reserve0);\n uint256 token1Balance = uint256(_reserve1);\n uint256 token0Amount;\n uint256 token1Amount;\n if (isDODOBuy) {\n IERC20(_BASE_).transfer(_UNISWAP_, baseAmount);\n // transfer token0 into uniswap\n uint256 newToken1Balance = token1Balance.mul(token0Balance).div(\n token0Balance.add(baseAmount)\n );\n token1Amount = token1Balance.sub(newToken1Balance).mul(9969).div(10000); // mul 0.9969\n require(token1Amount > quoteAmount, \"NOT_PROFITABLE\");\n IUniswapV2Pair(_UNISWAP_).swap(token0Amount, token1Amount, address(this), \"\");\n } else {\n IERC20(_QUOTE_).transfer(_UNISWAP_, quoteAmount);\n // transfer token1 into uniswap\n uint256 newToken0Balance = token1Balance.mul(token0Balance).div(\n token1Balance.add(quoteAmount)\n );\n token0Amount = token0Balance.sub(newToken0Balance).mul(9969).div(10000); // mul 0.9969\n require(token0Amount > baseAmount, \"NOT_PROFITABLE\");\n IUniswapV2Pair(_UNISWAP_).swap(token0Amount, token1Amount, address(this), \"\");\n }\n }\n\n function retrieve(address token, uint256 amount) external {\n IERC20(token).safeTransfer(msg.sender, amount);\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapArbitrageur.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapArbitrageur.sol", - "exportedSymbols": { - "IUniswapV2Pair": [ - 3996 - ], - "UniswapArbitrageur": [ - 4558 - ] - }, - "id": 4559, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3954, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:20" - }, - { - "id": 3955, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:20" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 3957, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 11272, - "src": "136:43:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3956, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "../intf/IDODO.sol", - "id": 3959, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 10492, - "src": "180:40:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3958, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:5:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 3961, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 10608, - "src": "221:42:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3960, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "229:6:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 3963, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 11441, - "src": "264:47:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3962, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "272:9:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 3965, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 11624, - "src": "312:45:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3964, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "320:8:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 3996, - "linearizedBaseContracts": [ - 3996 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 3970, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3966, - "nodeType": "ParameterList", - "parameters": [], - "src": "405:2:20" - }, - "returnParameters": { - "id": 3969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3968, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3970, - "src": "431:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3967, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "431:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "430:9:20" - }, - "scope": 3996, - "src": "390:50:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 3975, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3971, - "nodeType": "ParameterList", - "parameters": [], - "src": "461:2:20" - }, - "returnParameters": { - "id": 3974, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3973, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3975, - "src": "487:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3972, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "487:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "486:9:20" - }, - "scope": 3996, - "src": "446:50:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 3984, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3976, - "nodeType": "ParameterList", - "parameters": [], - "src": "522:2:20" - }, - "returnParameters": { - "id": 3983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3978, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3984, - "src": "585:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 3977, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "585:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3980, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3984, - "src": "615:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 3979, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "615:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3982, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3984, - "src": "645:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3981, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "645:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "571:109:20" - }, - "scope": 3996, - "src": "502:179:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 3995, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3986, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "710:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3988, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "738:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "738:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3990, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "766:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3992, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "786:19:20", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3991, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "786:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "700:111:20" - }, - "returnParameters": { - "id": 3994, - "nodeType": "ParameterList", - "parameters": [], - "src": "820:0:20" - }, - "scope": 3996, - "src": "687:134:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4559, - "src": "359:464:20" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4558, - "linearizedBaseContracts": [ - 4558 - ], - "name": "UniswapArbitrageur", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3999, - "libraryName": { - "contractScope": null, - "id": 3997, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "865:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "859:27:20", - "typeName": { - "id": 3998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 4002, - "libraryName": { - "contractScope": null, - "id": 4000, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "897:9:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "891:27:20", - "typeName": { - "contractScope": null, - "id": 4001, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "911:6:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "functionSelector": "25755c95", - "id": 4004, - "mutability": "mutable", - "name": "_UNISWAP_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "924:24:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "924:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "23208b5a", - "id": 4006, - "mutability": "mutable", - "name": "_DODO_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "954:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f4c7076a", - "id": 4008, - "mutability": "mutable", - "name": "_BASE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "981:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ca436ea4", - "id": 4010, - "mutability": "mutable", - "name": "_QUOTE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "1008:22:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4009, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1008:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "75103e15", - "id": 4012, - "mutability": "mutable", - "name": "_REVERSE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "1037:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1037:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 4115, - "nodeType": "Block", - "src": "1158:644:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4019, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "1168:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4020, - "name": "_uniswap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4014, - "src": "1180:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1168:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4022, - "nodeType": "ExpressionStatement", - "src": "1168:20:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4023, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1198:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4024, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4016, - "src": "1207:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1198:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4026, - "nodeType": "ExpressionStatement", - "src": "1198:14:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4027, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1223:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4029, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1238:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4028, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1232:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10485, - "src": "1232:26:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 4032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:28:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1223:37:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4034, - "nodeType": "ExpressionStatement", - "src": "1223:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4035, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1270:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4037, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4036, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1280:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1280:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "1280:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 4040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1280:29:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1270:39:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4042, - "nodeType": "ExpressionStatement", - "src": "1270:39:20" - }, - { - "assignments": [ - 4044 - ], - "declarations": [ - { - "constant": false, - "id": 4044, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4115, - "src": "1320:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1320:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4050, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4046, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "1352:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4045, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "1337:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1337:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token0", - "nodeType": "MemberAccess", - "referencedDeclaration": 3970, - "src": "1337:32:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 4049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1337:34:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1320:51:20" - }, - { - "assignments": [ - 4052 - ], - "declarations": [ - { - "constant": false, - "id": 4052, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4115, - "src": "1381:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4058, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4054, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "1413:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4053, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "1398:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1398:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token1", - "nodeType": "MemberAccess", - "referencedDeclaration": 3975, - "src": "1398:32:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 4057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1398:34:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1381:51:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4059, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4044, - "src": "1447:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4060, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1457:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1447:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4062, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4052, - "src": "1467:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4063, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1477:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1467:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1447:37:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4071, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4044, - "src": "1538:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4072, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1548:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1538:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4074, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4052, - "src": "1559:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4075, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1569:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1559:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1538:37:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4088, - "nodeType": "Block", - "src": "1624:64:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f554e49535741505f4e4f545f4d41544348", - "id": 4085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1652:24:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_085ae99011c80da9c1d86962411149a128f10f322f636819b5a99783f05c31c1", - "typeString": "literal_string \"DODO_UNISWAP_NOT_MATCH\"" - }, - "value": "DODO_UNISWAP_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_085ae99011c80da9c1d86962411149a128f10f322f636819b5a99783f05c31c1", - "typeString": "literal_string \"DODO_UNISWAP_NOT_MATCH\"" - } - ], - "id": 4083, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1638:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1638:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4087, - "nodeType": "ExpressionStatement", - "src": "1638:39:20" - } - ] - }, - "id": 4089, - "nodeType": "IfStatement", - "src": "1534:154:20", - "trueBody": { - "id": 4082, - "nodeType": "Block", - "src": "1577:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4078, - "name": "_REVERSE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4012, - "src": "1591:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1603:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1591:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4081, - "nodeType": "ExpressionStatement", - "src": "1591:16:20" - } - ] - } - }, - "id": 4090, - "nodeType": "IfStatement", - "src": "1443:245:20", - "trueBody": { - "id": 4070, - "nodeType": "Block", - "src": "1486:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4066, - "name": "_REVERSE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4012, - "src": "1500:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1512:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1500:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4069, - "nodeType": "ExpressionStatement", - "src": "1500:17:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4095, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1721:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1737:2:20", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1738:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 4097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1729:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1729:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1729:11:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4092, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1705:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4091, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1698:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1698:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10594, - "src": "1698:22:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1698:43:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4102, - "nodeType": "ExpressionStatement", - "src": "1698:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4107, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1775:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1791:2:20", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1792:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 4109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1783:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1783:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1783:11:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4104, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4103, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1751:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1751:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10594, - "src": "1751:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1751:44:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4114, - "nodeType": "ExpressionStatement", - "src": "1751:44:20" - } - ] - }, - "documentation": null, - "id": 4116, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4014, - "mutability": "mutable", - "name": "_uniswap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4116, - "src": "1118:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1118:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4016, - "mutability": "mutable", - "name": "_dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4116, - "src": "1136:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1136:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1117:33:20" - }, - "returnParameters": { - "id": 4018, - "nodeType": "ParameterList", - "parameters": [], - "src": "1158:0:20" - }, - "scope": 4558, - "src": "1106:696:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4159, - "nodeType": "Block", - "src": "1896:226:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4127, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4118, - "src": "1933:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1953:2:20", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1954:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 4129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1945:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1945:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1945:11:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "307864", - "id": 4133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1958:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - }, - "value": "0xd" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4124, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1912:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4123, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1906:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "1906:26:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 4134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:58:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4135, - "nodeType": "ExpressionStatement", - "src": "1906:58:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4136, - "name": "quoteProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "1974:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4143, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2014:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2014:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2014:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4138, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1995:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4137, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1988:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1988:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "1988:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1988:40:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1974:54:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4147, - "nodeType": "ExpressionStatement", - "src": "1974:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4152, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2063:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2063:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 4154, - "name": "quoteProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "2075:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4149, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "2045:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4148, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "2038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "2038:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:49:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4156, - "nodeType": "ExpressionStatement", - "src": "2038:49:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4157, - "name": "quoteProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "2104:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4122, - "id": 4158, - "nodeType": "Return", - "src": "2097:18:20" - } - ] - }, - "documentation": null, - "functionSelector": "949805ff", - "id": 4160, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "executeBuyArbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4118, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4160, - "src": "1837:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1837:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1836:20:20" - }, - "returnParameters": { - "id": 4122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4121, - "mutability": "mutable", - "name": "quoteProfit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4160, - "src": "1875:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1875:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1874:21:20" - }, - "scope": 4558, - "src": "1808:314:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4199, - "nodeType": "Block", - "src": "2216:212:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4171, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "2254:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2266:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "307864", - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2269:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - }, - "value": "0xd" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4168, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "2232:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4167, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2226:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2226:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "2226:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 4174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2226:49:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4175, - "nodeType": "ExpressionStatement", - "src": "2226:49:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4176, - "name": "baseProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2285:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4183, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2331:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2323:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2323:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2323:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4178, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "2305:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4177, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "2298:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2298:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "2298:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2298:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2285:52:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4187, - "nodeType": "ExpressionStatement", - "src": "2285:52:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4192, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2371:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2371:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 4194, - "name": "baseProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2383:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4189, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "2354:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4188, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "2347:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2347:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "2347:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2347:47:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4196, - "nodeType": "ExpressionStatement", - "src": "2347:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4197, - "name": "baseProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2411:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4166, - "id": 4198, - "nodeType": "Return", - "src": "2404:17:20" - } - ] - }, - "documentation": null, - "functionSelector": "919d365d", - "id": 4200, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "executeSellArbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4162, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4200, - "src": "2158:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2158:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2157:20:20" - }, - "returnParameters": { - "id": 4166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4165, - "mutability": "mutable", - "name": "baseProfit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4200, - "src": "2196:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2196:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2195:20:20" - }, - "scope": 4558, - "src": "2128:300:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4235, - "nodeType": "Block", - "src": "2572:239:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2590:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2590:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4214, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "2604:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2590:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57524f4e475f444f444f", - "id": 4216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2612:12:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_41662103fa761538f203aa14fdd6465fb2b049b8631d2a0c262356d67d2459f3", - "typeString": "literal_string \"WRONG_DODO\"" - }, - "value": "WRONG_DODO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_41662103fa761538f203aa14fdd6465fb2b049b8631d2a0c262356d67d2459f3", - "typeString": "literal_string \"WRONG_DODO\"" - } - ], - "id": 4211, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2582:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:43:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4218, - "nodeType": "ExpressionStatement", - "src": "2582:43:20" - }, - { - "condition": { - "argumentTypes": null, - "id": 4219, - "name": "_REVERSE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4012, - "src": "2639:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4233, - "nodeType": "Block", - "src": "2734:71:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4228, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4202, - "src": "2759:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4229, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4204, - "src": "2770:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4230, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4206, - "src": "2782:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4227, - "name": "_arbitrage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4540, - "src": "2748:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bool,uint256,uint256)" - } - }, - "id": 4231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2748:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4232, - "nodeType": "ExpressionStatement", - "src": "2748:46:20" - } - ] - }, - "id": 4234, - "nodeType": "IfStatement", - "src": "2635:170:20", - "trueBody": { - "id": 4226, - "nodeType": "Block", - "src": "2650:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4221, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4202, - "src": "2682:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4222, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4204, - "src": "2693:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4223, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4206, - "src": "2705:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4220, - "name": "_inverseArbitrage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4388, - "src": "2664:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bool,uint256,uint256)" - } - }, - "id": 4224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2664:53:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4225, - "nodeType": "ExpressionStatement", - "src": "2664:53:20" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "60378cea", - "id": 4236, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "dodoCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4202, - "mutability": "mutable", - "name": "isDODOBuy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2461:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4201, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2461:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4204, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2485:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2485:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4206, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2513:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4208, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2542:14:20", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4207, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2542:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2451:111:20" - }, - "returnParameters": { - "id": 4210, - "nodeType": "ParameterList", - "parameters": [], - "src": "2572:0:20" - }, - "scope": 4558, - "src": "2434:377:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4387, - "nodeType": "Block", - "src": "2940:1315:20", - "statements": [ - { - "assignments": [ - 4246, - 4248, - null - ], - "declarations": [ - { - "constant": false, - "id": 4246, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "2951:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4245, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2951:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4248, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "2970:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4247, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2970:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 4254, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4250, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3008:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4249, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "2993:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2993:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReserves", - "nodeType": "MemberAccess", - "referencedDeclaration": 3984, - "src": "2993:37:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view external returns (uint112,uint112,uint32)" - } - }, - "id": 4253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2993:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2950:82:20" - }, - { - "assignments": [ - 4256 - ], - "declarations": [ - { - "constant": false, - "id": 4256, - "mutability": "mutable", - "name": "token0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3042:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3042:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4261, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4259, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4246, - "src": "3074:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3066:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3066:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3066:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3042:42:20" - }, - { - "assignments": [ - 4263 - ], - "declarations": [ - { - "constant": false, - "id": 4263, - "mutability": "mutable", - "name": "token1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3094:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3094:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4268, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4266, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "3126:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3118:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3118:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3118:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3094:42:20" - }, - { - "assignments": [ - 4270 - ], - "declarations": [ - { - "constant": false, - "id": 4270, - "mutability": "mutable", - "name": "token0Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3146:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3146:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4271, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3146:20:20" - }, - { - "assignments": [ - 4273 - ], - "declarations": [ - { - "constant": false, - "id": 4273, - "mutability": "mutable", - "name": "token1Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3176:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3176:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4274, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3176:20:20" - }, - { - "condition": { - "argumentTypes": null, - "id": 4275, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4238, - "src": "3210:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4385, - "nodeType": "Block", - "src": "3737:512:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4335, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3776:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4336, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3787:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4332, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "3758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4331, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3751:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3751:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "3751:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3751:48:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4338, - "nodeType": "ExpressionStatement", - "src": "3751:48:20" - }, - { - "assignments": [ - 4340 - ], - "declarations": [ - { - "constant": false, - "id": 4340, - "mutability": "mutable", - "name": "newToken1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4385, - "src": "3857:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3857:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4351, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4348, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3956:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4346, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3938:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3938:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3938:30:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4343, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "3902:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4341, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3884:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3884:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3884:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3884:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3884:98:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3857:125:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4352, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "3996:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4061:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4051:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4355, - "name": "newToken1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4340, - "src": "4029:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4353, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "4011:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4011:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4011:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4011:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3996:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4364, - "nodeType": "ExpressionStatement", - "src": "3996:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4366, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "4103:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4367, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "4118:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4103:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4130:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4365, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4095:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4371, - "nodeType": "ExpressionStatement", - "src": "4095:52:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4376, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "4192:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4377, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "4206:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4380, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4228:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4220:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4220:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4220:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4235:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4373, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "4176:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4372, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "4161:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4161:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "4161:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4161:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4384, - "nodeType": "ExpressionStatement", - "src": "4161:77:20" - } - ] - }, - "id": 4386, - "nodeType": "IfStatement", - "src": "3206:1043:20", - "trueBody": { - "id": 4330, - "nodeType": "Block", - "src": "3221:510:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4280, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3259:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4281, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "3270:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4277, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "3242:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4276, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3235:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3235:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "3235:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3235:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4283, - "nodeType": "ExpressionStatement", - "src": "3235:46:20" - }, - { - "assignments": [ - 4285 - ], - "declarations": [ - { - "constant": false, - "id": 4285, - "mutability": "mutable", - "name": "newToken0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4330, - "src": "3339:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4296, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4293, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "3438:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4291, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "3420:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3420:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3420:29:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4288, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "3384:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4286, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3366:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3366:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3366:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3366:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3366:97:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3339:124:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4297, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "3477:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3542:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4300, - "name": "newToken0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4285, - "src": "3510:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4298, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3492:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3492:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3492:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3492:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3477:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4309, - "nodeType": "ExpressionStatement", - "src": "3477:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4311, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "3584:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4312, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3599:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3584:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3612:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3576:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3576:53:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4316, - "nodeType": "ExpressionStatement", - "src": "3576:53:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4321, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "3674:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4322, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "3688:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4325, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3710:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3702:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3702:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3717:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4318, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3658:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4317, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "3643:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3643:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "3643:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3643:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4329, - "nodeType": "ExpressionStatement", - "src": "3643:77:20" - } - ] - } - } - ] - }, - "documentation": null, - "id": 4388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_inverseArbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4238, - "mutability": "mutable", - "name": "isDODOBuy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4388, - "src": "2853:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4237, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2853:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4240, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4388, - "src": "2877:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2877:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4242, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4388, - "src": "2905:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2905:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2843:87:20" - }, - "returnParameters": { - "id": 4244, - "nodeType": "ParameterList", - "parameters": [], - "src": "2940:0:20" - }, - "scope": 4558, - "src": "2817:1438:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4539, - "nodeType": "Block", - "src": "4377:1315:20", - "statements": [ - { - "assignments": [ - 4398, - 4400, - null - ], - "declarations": [ - { - "constant": false, - "id": 4398, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4388:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4397, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "4388:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4400, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4407:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4399, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "4407:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 4406, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4402, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "4445:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4401, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "4430:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4430:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReserves", - "nodeType": "MemberAccess", - "referencedDeclaration": 3984, - "src": "4430:37:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view external returns (uint112,uint112,uint32)" - } - }, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4430:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4387:82:20" - }, - { - "assignments": [ - 4408 - ], - "declarations": [ - { - "constant": false, - "id": 4408, - "mutability": "mutable", - "name": "token0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4479:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4479:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4413, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4411, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4398, - "src": "4511:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4503:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4503:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4503:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4479:42:20" - }, - { - "assignments": [ - 4415 - ], - "declarations": [ - { - "constant": false, - "id": 4415, - "mutability": "mutable", - "name": "token1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4531:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4420, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4418, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4400, - "src": "4563:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4555:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4555:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4531:42:20" - }, - { - "assignments": [ - 4422 - ], - "declarations": [ - { - "constant": false, - "id": 4422, - "mutability": "mutable", - "name": "token0Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4583:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4583:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4423, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4583:20:20" - }, - { - "assignments": [ - 4425 - ], - "declarations": [ - { - "constant": false, - "id": 4425, - "mutability": "mutable", - "name": "token1Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4613:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4613:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4426, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4613:20:20" - }, - { - "condition": { - "argumentTypes": null, - "id": 4427, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4390, - "src": "4647:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4537, - "nodeType": "Block", - "src": "5174:512:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4487, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "5213:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4488, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "5224:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4484, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "5195:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4483, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5188:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5188:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "5188:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5188:48:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4490, - "nodeType": "ExpressionStatement", - "src": "5188:48:20" - }, - { - "assignments": [ - 4492 - ], - "declarations": [ - { - "constant": false, - "id": 4492, - "mutability": "mutable", - "name": "newToken0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4537, - "src": "5294:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5294:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4503, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4500, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "5393:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4498, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "5375:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5375:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5375:30:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4495, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "5339:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4493, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "5321:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5321:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5321:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5321:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5321:98:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5294:125:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4504, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5433:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5498:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5488:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4507, - "name": "newToken0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4492, - "src": "5466:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4505, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "5448:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5448:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5448:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5448:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5433:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4516, - "nodeType": "ExpressionStatement", - "src": "5433:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4518, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5540:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4519, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4392, - "src": "5555:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5540:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5567:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4517, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5532:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5532:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4523, - "nodeType": "ExpressionStatement", - "src": "5532:52:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4528, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5629:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4529, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "5643:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4532, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5665:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5657:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5657:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5657:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5672:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4525, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "5613:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4524, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "5598:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5598:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "5598:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5598:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4536, - "nodeType": "ExpressionStatement", - "src": "5598:77:20" - } - ] - }, - "id": 4538, - "nodeType": "IfStatement", - "src": "4643:1043:20", - "trueBody": { - "id": 4482, - "nodeType": "Block", - "src": "4658:510:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4432, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "4696:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4433, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4392, - "src": "4707:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4429, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "4679:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4428, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "4672:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4672:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "4672:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4672:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4435, - "nodeType": "ExpressionStatement", - "src": "4672:46:20" - }, - { - "assignments": [ - 4437 - ], - "declarations": [ - { - "constant": false, - "id": 4437, - "mutability": "mutable", - "name": "newToken1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4482, - "src": "4776:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4776:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4448, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4445, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4392, - "src": "4875:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4443, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4857:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4857:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4857:29:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4440, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4821:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4438, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "4803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4803:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4803:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4803:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4803:97:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4776:124:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4449, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "4914:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4979:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4452, - "name": "newToken1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "4947:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4450, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "4929:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4929:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4929:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4929:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4914:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4461, - "nodeType": "ExpressionStatement", - "src": "4914:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4463, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "5021:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4464, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "5036:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5021:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5049:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4462, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5013:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5013:53:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4468, - "nodeType": "ExpressionStatement", - "src": "5013:53:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4473, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5111:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4474, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "5125:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4477, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5147:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5139:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5139:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5139:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5154:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4470, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "5095:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4469, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "5080:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5080:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "5080:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5080:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4481, - "nodeType": "ExpressionStatement", - "src": "5080:77:20" - } - ] - } - } - ] - }, - "documentation": null, - "id": 4540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_arbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4390, - "mutability": "mutable", - "name": "isDODOBuy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4540, - "src": "4290:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4389, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4290:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4392, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4540, - "src": "4314:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4314:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4394, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4540, - "src": "4342:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4342:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4280:87:20" - }, - "returnParameters": { - "id": 4396, - "nodeType": "ParameterList", - "parameters": [], - "src": "4377:0:20" - }, - "scope": 4558, - "src": "4261:1431:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4556, - "nodeType": "Block", - "src": "5756:63:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4551, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5793:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 4553, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "5805:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4548, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4542, - "src": "5773:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4547, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5766:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "5766:26:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 4554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4555, - "nodeType": "ExpressionStatement", - "src": "5766:46:20" - } - ] - }, - "documentation": null, - "functionSelector": "c3a2a665", - "id": 4557, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "retrieve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4542, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4557, - "src": "5716:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5716:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4544, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4557, - "src": "5731:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5731:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5715:31:20" - }, - "returnParameters": { - "id": 4546, - "nodeType": "ParameterList", - "parameters": [], - "src": "5756:0:20" - }, - "scope": 4558, - "src": "5698:121:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4559, - "src": "825:4996:20" - } - ], - "src": "78:5744:20" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapArbitrageur.sol", - "exportedSymbols": { - "IUniswapV2Pair": [ - 3996 - ], - "UniswapArbitrageur": [ - 4558 - ] - }, - "id": 4559, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3954, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:20" - }, - { - "id": 3955, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "101:33:20" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", - "file": "../lib/Ownable.sol", - "id": 3957, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 11272, - "src": "136:43:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3956, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "144:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", - "file": "../intf/IDODO.sol", - "id": 3959, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 10492, - "src": "180:40:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3958, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "188:5:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", - "file": "../intf/IERC20.sol", - "id": 3961, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 10608, - "src": "221:42:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3960, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "229:6:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", - "file": "../lib/SafeERC20.sol", - "id": 3963, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 11441, - "src": "264:47:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3962, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "272:9:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", - "file": "../lib/SafeMath.sol", - "id": 3965, - "nodeType": "ImportDirective", - "scope": 4559, - "sourceUnit": 11624, - "src": "312:45:20", - "symbolAliases": [ - { - "foreign": { - "argumentTypes": null, - "id": 3964, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": null, - "src": "320:8:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - }, - "local": null - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 3996, - "linearizedBaseContracts": [ - 3996 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 3970, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3966, - "nodeType": "ParameterList", - "parameters": [], - "src": "405:2:20" - }, - "returnParameters": { - "id": 3969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3968, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3970, - "src": "431:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3967, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "431:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "430:9:20" - }, - "scope": 3996, - "src": "390:50:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 3975, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3971, - "nodeType": "ParameterList", - "parameters": [], - "src": "461:2:20" - }, - "returnParameters": { - "id": 3974, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3973, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3975, - "src": "487:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3972, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "487:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "486:9:20" - }, - "scope": 3996, - "src": "446:50:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 3984, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3976, - "nodeType": "ParameterList", - "parameters": [], - "src": "522:2:20" - }, - "returnParameters": { - "id": 3983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3978, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3984, - "src": "585:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 3977, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "585:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3980, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3984, - "src": "615:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 3979, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "615:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3982, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3984, - "src": "645:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 3981, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "645:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "571:109:20" - }, - "scope": 3996, - "src": "502:179:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 3995, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3986, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "710:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3988, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "738:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "738:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3990, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "766:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3992, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3995, - "src": "786:19:20", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3991, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "786:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "700:111:20" - }, - "returnParameters": { - "id": 3994, - "nodeType": "ParameterList", - "parameters": [], - "src": "820:0:20" - }, - "scope": 3996, - "src": "687:134:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4559, - "src": "359:464:20" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4558, - "linearizedBaseContracts": [ - 4558 - ], - "name": "UniswapArbitrageur", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3999, - "libraryName": { - "contractScope": null, - "id": 3997, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11623, - "src": "865:8:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$11623", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "859:27:20", - "typeName": { - "id": 3998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "878:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 4002, - "libraryName": { - "contractScope": null, - "id": 4000, - "name": "SafeERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11440, - "src": "897:9:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$11440", - "typeString": "library SafeERC20" - } - }, - "nodeType": "UsingForDirective", - "src": "891:27:20", - "typeName": { - "contractScope": null, - "id": 4001, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "911:6:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - } - }, - { - "constant": false, - "functionSelector": "25755c95", - "id": 4004, - "mutability": "mutable", - "name": "_UNISWAP_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "924:24:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "924:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "23208b5a", - "id": 4006, - "mutability": "mutable", - "name": "_DODO_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "954:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f4c7076a", - "id": 4008, - "mutability": "mutable", - "name": "_BASE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "981:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ca436ea4", - "id": 4010, - "mutability": "mutable", - "name": "_QUOTE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "1008:22:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4009, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1008:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "75103e15", - "id": 4012, - "mutability": "mutable", - "name": "_REVERSE_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "1037:21:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1037:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 4115, - "nodeType": "Block", - "src": "1158:644:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4019, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "1168:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4020, - "name": "_uniswap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4014, - "src": "1180:8:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1168:20:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4022, - "nodeType": "ExpressionStatement", - "src": "1168:20:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4023, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1198:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4024, - "name": "_dodo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4016, - "src": "1207:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1198:14:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4026, - "nodeType": "ExpressionStatement", - "src": "1198:14:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4027, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1223:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4029, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1238:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4028, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1232:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_BASE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10485, - "src": "1232:26:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 4032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:28:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1223:37:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4034, - "nodeType": "ExpressionStatement", - "src": "1223:37:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4035, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1270:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4037, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1286:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4036, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1280:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1280:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_QUOTE_TOKEN_", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "1280:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_address_$", - "typeString": "function () external returns (address)" - } - }, - "id": 4040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1280:29:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1270:39:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4042, - "nodeType": "ExpressionStatement", - "src": "1270:39:20" - }, - { - "assignments": [ - 4044 - ], - "declarations": [ - { - "constant": false, - "id": 4044, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4115, - "src": "1320:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1320:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4050, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4046, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "1352:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4045, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "1337:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1337:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token0", - "nodeType": "MemberAccess", - "referencedDeclaration": 3970, - "src": "1337:32:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 4049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1337:34:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1320:51:20" - }, - { - "assignments": [ - 4052 - ], - "declarations": [ - { - "constant": false, - "id": 4052, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4115, - "src": "1381:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4058, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4054, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "1413:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4053, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "1398:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1398:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "token1", - "nodeType": "MemberAccess", - "referencedDeclaration": 3975, - "src": "1398:32:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 4057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1398:34:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1381:51:20" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4059, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4044, - "src": "1447:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4060, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1457:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1447:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4062, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4052, - "src": "1467:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4063, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1477:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1467:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1447:37:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4071, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4044, - "src": "1538:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4072, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1548:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1538:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4074, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4052, - "src": "1559:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4075, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1569:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1559:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1538:37:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4088, - "nodeType": "Block", - "src": "1624:64:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "444f444f5f554e49535741505f4e4f545f4d41544348", - "id": 4085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1652:24:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_085ae99011c80da9c1d86962411149a128f10f322f636819b5a99783f05c31c1", - "typeString": "literal_string \"DODO_UNISWAP_NOT_MATCH\"" - }, - "value": "DODO_UNISWAP_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_085ae99011c80da9c1d86962411149a128f10f322f636819b5a99783f05c31c1", - "typeString": "literal_string \"DODO_UNISWAP_NOT_MATCH\"" - } - ], - "id": 4083, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1638:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1638:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4087, - "nodeType": "ExpressionStatement", - "src": "1638:39:20" - } - ] - }, - "id": 4089, - "nodeType": "IfStatement", - "src": "1534:154:20", - "trueBody": { - "id": 4082, - "nodeType": "Block", - "src": "1577:41:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4078, - "name": "_REVERSE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4012, - "src": "1591:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1603:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1591:16:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4081, - "nodeType": "ExpressionStatement", - "src": "1591:16:20" - } - ] - } - }, - "id": 4090, - "nodeType": "IfStatement", - "src": "1443:245:20", - "trueBody": { - "id": 4070, - "nodeType": "Block", - "src": "1486:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4066, - "name": "_REVERSE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4012, - "src": "1500:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1512:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1500:17:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4069, - "nodeType": "ExpressionStatement", - "src": "1500:17:20" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4095, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1721:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1737:2:20", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1738:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 4097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1729:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1729:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1729:11:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4092, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "1705:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4091, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1698:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1698:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10594, - "src": "1698:22:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1698:43:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4102, - "nodeType": "ExpressionStatement", - "src": "1698:43:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4107, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1775:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1791:2:20", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1792:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 4109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1783:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1783:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1783:11:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4104, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4103, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1751:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1751:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 10594, - "src": "1751:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1751:44:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4114, - "nodeType": "ExpressionStatement", - "src": "1751:44:20" - } - ] - }, - "documentation": null, - "id": 4116, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4014, - "mutability": "mutable", - "name": "_uniswap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4116, - "src": "1118:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1118:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4016, - "mutability": "mutable", - "name": "_dodo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4116, - "src": "1136:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1136:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1117:33:20" - }, - "returnParameters": { - "id": 4018, - "nodeType": "ParameterList", - "parameters": [], - "src": "1158:0:20" - }, - "scope": 4558, - "src": "1106:696:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4159, - "nodeType": "Block", - "src": "1896:226:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4127, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4118, - "src": "1933:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1953:2:20", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1954:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 4129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1945:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1945:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1945:11:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "307864", - "id": 4133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1958:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - }, - "value": "0xd" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4124, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "1912:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4123, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "1906:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10407, - "src": "1906:26:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 4134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:58:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4135, - "nodeType": "ExpressionStatement", - "src": "1906:58:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4136, - "name": "quoteProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "1974:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4143, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2022:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2014:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2014:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2014:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4138, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "1995:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4137, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "1988:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1988:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "1988:25:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1988:40:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1974:54:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4147, - "nodeType": "ExpressionStatement", - "src": "1974:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4152, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2063:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2063:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 4154, - "name": "quoteProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "2075:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4149, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "2045:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4148, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "2038:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "2038:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:49:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4156, - "nodeType": "ExpressionStatement", - "src": "2038:49:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4157, - "name": "quoteProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "2104:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4122, - "id": 4158, - "nodeType": "Return", - "src": "2097:18:20" - } - ] - }, - "documentation": null, - "functionSelector": "949805ff", - "id": 4160, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "executeBuyArbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4118, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4160, - "src": "1837:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1837:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1836:20:20" - }, - "returnParameters": { - "id": 4122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4121, - "mutability": "mutable", - "name": "quoteProfit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4160, - "src": "1875:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1875:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1874:21:20" - }, - "scope": 4558, - "src": "1808:314:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4199, - "nodeType": "Block", - "src": "2216:212:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4171, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "2254:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2266:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "307864", - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2269:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - }, - "value": "0xd" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_4ca88ae40bb7d308c953e4be794121a997c64099064e80e6e79d9445458a1a7a", - "typeString": "literal_string \"0xd\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4168, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "2232:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4167, - "name": "IDODO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10491, - "src": "2226:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", - "typeString": "type(contract IDODO)" - } - }, - "id": 4169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2226:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IDODO_$10491", - "typeString": "contract IDODO" - } - }, - "id": 4170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sellBaseToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 10396, - "src": "2226:27:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,bytes memory) external returns (uint256)" - } - }, - "id": 4174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2226:49:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4175, - "nodeType": "ExpressionStatement", - "src": "2226:49:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4176, - "name": "baseProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2285:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4183, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2331:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2323:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2323:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2323:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4178, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "2305:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4177, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "2298:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2298:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10564, - "src": "2298:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2298:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2285:52:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4187, - "nodeType": "ExpressionStatement", - "src": "2285:52:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4192, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2371:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2371:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 4194, - "name": "baseProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2383:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4189, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "2354:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4188, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "2347:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2347:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "2347:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2347:47:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4196, - "nodeType": "ExpressionStatement", - "src": "2347:47:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4197, - "name": "baseProfit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2411:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4166, - "id": 4198, - "nodeType": "Return", - "src": "2404:17:20" - } - ] - }, - "documentation": null, - "functionSelector": "919d365d", - "id": 4200, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "executeSellArbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4162, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4200, - "src": "2158:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2158:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2157:20:20" - }, - "returnParameters": { - "id": 4166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4165, - "mutability": "mutable", - "name": "baseProfit", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4200, - "src": "2196:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2196:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2195:20:20" - }, - "scope": 4558, - "src": "2128:300:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4235, - "nodeType": "Block", - "src": "2572:239:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4212, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2590:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2590:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4214, - "name": "_DODO_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4006, - "src": "2604:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2590:20:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57524f4e475f444f444f", - "id": 4216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2612:12:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_41662103fa761538f203aa14fdd6465fb2b049b8631d2a0c262356d67d2459f3", - "typeString": "literal_string \"WRONG_DODO\"" - }, - "value": "WRONG_DODO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_41662103fa761538f203aa14fdd6465fb2b049b8631d2a0c262356d67d2459f3", - "typeString": "literal_string \"WRONG_DODO\"" - } - ], - "id": 4211, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2582:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:43:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4218, - "nodeType": "ExpressionStatement", - "src": "2582:43:20" - }, - { - "condition": { - "argumentTypes": null, - "id": 4219, - "name": "_REVERSE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4012, - "src": "2639:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4233, - "nodeType": "Block", - "src": "2734:71:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4228, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4202, - "src": "2759:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4229, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4204, - "src": "2770:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4230, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4206, - "src": "2782:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4227, - "name": "_arbitrage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4540, - "src": "2748:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bool,uint256,uint256)" - } - }, - "id": 4231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2748:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4232, - "nodeType": "ExpressionStatement", - "src": "2748:46:20" - } - ] - }, - "id": 4234, - "nodeType": "IfStatement", - "src": "2635:170:20", - "trueBody": { - "id": 4226, - "nodeType": "Block", - "src": "2650:78:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4221, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4202, - "src": "2682:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4222, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4204, - "src": "2693:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4223, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4206, - "src": "2705:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4220, - "name": "_inverseArbitrage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4388, - "src": "2664:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bool,uint256,uint256)" - } - }, - "id": 4224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2664:53:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4225, - "nodeType": "ExpressionStatement", - "src": "2664:53:20" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "60378cea", - "id": 4236, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "dodoCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4202, - "mutability": "mutable", - "name": "isDODOBuy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2461:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4201, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2461:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4204, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2485:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2485:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4206, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2513:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4208, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4236, - "src": "2542:14:20", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4207, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2542:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2451:111:20" - }, - "returnParameters": { - "id": 4210, - "nodeType": "ParameterList", - "parameters": [], - "src": "2572:0:20" - }, - "scope": 4558, - "src": "2434:377:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4387, - "nodeType": "Block", - "src": "2940:1315:20", - "statements": [ - { - "assignments": [ - 4246, - 4248, - null - ], - "declarations": [ - { - "constant": false, - "id": 4246, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "2951:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4245, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2951:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4248, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "2970:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4247, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2970:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 4254, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4250, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3008:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4249, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "2993:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2993:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReserves", - "nodeType": "MemberAccess", - "referencedDeclaration": 3984, - "src": "2993:37:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view external returns (uint112,uint112,uint32)" - } - }, - "id": 4253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2993:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2950:82:20" - }, - { - "assignments": [ - 4256 - ], - "declarations": [ - { - "constant": false, - "id": 4256, - "mutability": "mutable", - "name": "token0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3042:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3042:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4261, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4259, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4246, - "src": "3074:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3066:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3066:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3066:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3042:42:20" - }, - { - "assignments": [ - 4263 - ], - "declarations": [ - { - "constant": false, - "id": 4263, - "mutability": "mutable", - "name": "token1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3094:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3094:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4268, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4266, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "3126:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3118:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3118:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3118:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3094:42:20" - }, - { - "assignments": [ - 4270 - ], - "declarations": [ - { - "constant": false, - "id": 4270, - "mutability": "mutable", - "name": "token0Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3146:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3146:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4271, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3146:20:20" - }, - { - "assignments": [ - 4273 - ], - "declarations": [ - { - "constant": false, - "id": 4273, - "mutability": "mutable", - "name": "token1Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4387, - "src": "3176:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3176:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4274, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3176:20:20" - }, - { - "condition": { - "argumentTypes": null, - "id": 4275, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4238, - "src": "3210:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4385, - "nodeType": "Block", - "src": "3737:512:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4335, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3776:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4336, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3787:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4332, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "3758:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4331, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3751:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3751:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "3751:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3751:48:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4338, - "nodeType": "ExpressionStatement", - "src": "3751:48:20" - }, - { - "assignments": [ - 4340 - ], - "declarations": [ - { - "constant": false, - "id": 4340, - "mutability": "mutable", - "name": "newToken1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4385, - "src": "3857:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3857:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4351, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4348, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3956:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4346, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3938:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3938:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3938:30:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4343, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "3902:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4341, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3884:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3884:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3884:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3884:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3884:98:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3857:125:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4352, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "3996:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4061:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4051:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4355, - "name": "newToken1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4340, - "src": "4029:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4353, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "4011:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4011:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4011:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4011:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3996:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4364, - "nodeType": "ExpressionStatement", - "src": "3996:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4366, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "4103:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4367, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "4118:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4103:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4130:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4365, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4095:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4371, - "nodeType": "ExpressionStatement", - "src": "4095:52:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4376, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "4192:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4377, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "4206:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4380, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4228:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4220:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4220:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4220:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4235:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4373, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "4176:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4372, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "4161:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4161:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "4161:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4161:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4384, - "nodeType": "ExpressionStatement", - "src": "4161:77:20" - } - ] - }, - "id": 4386, - "nodeType": "IfStatement", - "src": "3206:1043:20", - "trueBody": { - "id": 4330, - "nodeType": "Block", - "src": "3221:510:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4280, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3259:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4281, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "3270:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4277, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "3242:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4276, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "3235:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3235:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "3235:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3235:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4283, - "nodeType": "ExpressionStatement", - "src": "3235:46:20" - }, - { - "assignments": [ - 4285 - ], - "declarations": [ - { - "constant": false, - "id": 4285, - "mutability": "mutable", - "name": "newToken0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4330, - "src": "3339:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4296, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4293, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "3438:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4291, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "3420:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "3420:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3420:29:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4288, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4263, - "src": "3384:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4286, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3366:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3366:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3366:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3366:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3366:97:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3339:124:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4297, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "3477:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3542:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4300, - "name": "newToken0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4285, - "src": "3510:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4298, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4256, - "src": "3492:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "3492:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "3492:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "3492:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3492:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3477:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4309, - "nodeType": "ExpressionStatement", - "src": "3477:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4311, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "3584:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4312, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3599:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3584:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3612:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3576:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3576:53:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4316, - "nodeType": "ExpressionStatement", - "src": "3576:53:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4321, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4270, - "src": "3674:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4322, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "3688:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4325, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3710:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3702:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3702:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3717:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4318, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "3658:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4317, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "3643:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3643:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "3643:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3643:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4329, - "nodeType": "ExpressionStatement", - "src": "3643:77:20" - } - ] - } - } - ] - }, - "documentation": null, - "id": 4388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_inverseArbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4238, - "mutability": "mutable", - "name": "isDODOBuy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4388, - "src": "2853:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4237, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2853:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4240, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4388, - "src": "2877:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2877:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4242, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4388, - "src": "2905:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2905:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2843:87:20" - }, - "returnParameters": { - "id": 4244, - "nodeType": "ParameterList", - "parameters": [], - "src": "2940:0:20" - }, - "scope": 4558, - "src": "2817:1438:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4539, - "nodeType": "Block", - "src": "4377:1315:20", - "statements": [ - { - "assignments": [ - 4398, - 4400, - null - ], - "declarations": [ - { - "constant": false, - "id": 4398, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4388:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4397, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "4388:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4400, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4407:17:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4399, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "4407:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 4406, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4402, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "4445:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4401, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "4430:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4430:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getReserves", - "nodeType": "MemberAccess", - "referencedDeclaration": 3984, - "src": "4430:37:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view external returns (uint112,uint112,uint32)" - } - }, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4430:39:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4387:82:20" - }, - { - "assignments": [ - 4408 - ], - "declarations": [ - { - "constant": false, - "id": 4408, - "mutability": "mutable", - "name": "token0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4479:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4479:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4413, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4411, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4398, - "src": "4511:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4503:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4503:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4503:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4479:42:20" - }, - { - "assignments": [ - 4415 - ], - "declarations": [ - { - "constant": false, - "id": 4415, - "mutability": "mutable", - "name": "token1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4531:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4420, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4418, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4400, - "src": "4563:9:20", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 4417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4555:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4555:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4555:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4531:42:20" - }, - { - "assignments": [ - 4422 - ], - "declarations": [ - { - "constant": false, - "id": 4422, - "mutability": "mutable", - "name": "token0Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4583:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4583:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4423, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4583:20:20" - }, - { - "assignments": [ - 4425 - ], - "declarations": [ - { - "constant": false, - "id": 4425, - "mutability": "mutable", - "name": "token1Amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "4613:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4613:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4426, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4613:20:20" - }, - { - "condition": { - "argumentTypes": null, - "id": 4427, - "name": "isDODOBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4390, - "src": "4647:9:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4537, - "nodeType": "Block", - "src": "5174:512:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4487, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "5213:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4488, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "5224:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4484, - "name": "_QUOTE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4010, - "src": "5195:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4483, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5188:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5188:15:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "5188:24:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5188:48:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4490, - "nodeType": "ExpressionStatement", - "src": "5188:48:20" - }, - { - "assignments": [ - 4492 - ], - "declarations": [ - { - "constant": false, - "id": 4492, - "mutability": "mutable", - "name": "newToken0Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4537, - "src": "5294:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5294:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4503, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4500, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "5393:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4498, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "5375:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "5375:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5375:30:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4495, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "5339:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4493, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "5321:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5321:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5321:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5321:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5321:98:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5294:125:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4504, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5433:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5498:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5488:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4507, - "name": "newToken0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4492, - "src": "5466:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4505, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "5448:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "5448:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "5448:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "5448:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5448:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5433:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4516, - "nodeType": "ExpressionStatement", - "src": "5433:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4518, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5540:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4519, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4392, - "src": "5555:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5540:25:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5567:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4517, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5532:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5532:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4523, - "nodeType": "ExpressionStatement", - "src": "5532:52:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4528, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5629:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4529, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "5643:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4532, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5665:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5657:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5657:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5657:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5672:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4525, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "5613:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4524, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "5598:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5598:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "5598:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5598:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4536, - "nodeType": "ExpressionStatement", - "src": "5598:77:20" - } - ] - }, - "id": 4538, - "nodeType": "IfStatement", - "src": "4643:1043:20", - "trueBody": { - "id": 4482, - "nodeType": "Block", - "src": "4658:510:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4432, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "4696:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4433, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4392, - "src": "4707:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4429, - "name": "_BASE_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "4679:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4428, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "4672:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4672:14:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 10574, - "src": "4672:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4672:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4435, - "nodeType": "ExpressionStatement", - "src": "4672:46:20" - }, - { - "assignments": [ - 4437 - ], - "declarations": [ - { - "constant": false, - "id": 4437, - "mutability": "mutable", - "name": "newToken1Balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4482, - "src": "4776:24:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4776:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4448, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4445, - "name": "baseAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4392, - "src": "4875:10:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4443, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4857:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 11582, - "src": "4857:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4857:29:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4440, - "name": "token0Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4821:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4438, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "4803:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4803:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4803:32:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4803:36:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4803:97:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4776:124:20" - }, - { - "expression": { - "argumentTypes": null, - "id": 4460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4449, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "4914:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4979:5:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39393639", - "id": 4455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:4:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - }, - "value": "9969" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9969_by_1", - "typeString": "int_const 9969" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4452, - "name": "newToken1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "4947:16:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4450, - "name": "token1Balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "4929:13:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 11557, - "src": "4929:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 11478, - "src": "4929:39:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:45:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 11499, - "src": "4929:49:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:56:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4914:71:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4461, - "nodeType": "ExpressionStatement", - "src": "4914:71:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4463, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "5021:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4464, - "name": "quoteAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "5036:11:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5021:26:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4f545f50524f46495441424c45", - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5049:16:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - }, - "value": "NOT_PROFITABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ed9cb83f8e0a8cbd28c4025212bde92e5c49adb79749aec6363d598b55a8f5dd", - "typeString": "literal_string \"NOT_PROFITABLE\"" - } - ], - "id": 4462, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5013:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5013:53:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4468, - "nodeType": "ExpressionStatement", - "src": "5013:53:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4473, - "name": "token0Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "5111:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4474, - "name": "token1Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "5125:12:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4477, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5147:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapArbitrageur_$4558", - "typeString": "contract UniswapArbitrageur" - } - ], - "id": 4476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5139:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5139:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5139:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 4479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5154:2:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4470, - "name": "_UNISWAP_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4004, - "src": "5095:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4469, - "name": "IUniswapV2Pair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3996, - "src": "5080:14:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$3996_$", - "typeString": "type(contract IUniswapV2Pair)" - } - }, - "id": 4471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5080:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$3996", - "typeString": "contract IUniswapV2Pair" - } - }, - "id": 4472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "swap", - "nodeType": "MemberAccess", - "referencedDeclaration": 3995, - "src": "5080:30:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address,bytes memory) external" - } - }, - "id": 4480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5080:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4481, - "nodeType": "ExpressionStatement", - "src": "5080:77:20" - } - ] - } - } - ] - }, - "documentation": null, - "id": 4540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_arbitrage", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4390, - "mutability": "mutable", - "name": "isDODOBuy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4540, - "src": "4290:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4389, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4290:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4392, - "mutability": "mutable", - "name": "baseAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4540, - "src": "4314:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4314:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4394, - "mutability": "mutable", - "name": "quoteAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4540, - "src": "4342:19:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4342:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4280:87:20" - }, - "returnParameters": { - "id": 4396, - "nodeType": "ParameterList", - "parameters": [], - "src": "4377:0:20" - }, - "scope": 4558, - "src": "4261:1431:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4556, - "nodeType": "Block", - "src": "5756:63:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4551, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5793:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5793:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 4553, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "5805:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4548, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4542, - "src": "5773:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4547, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10607, - "src": "5766:6:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$10607", - "typeString": "contract IERC20" - } - }, - "id": 4550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11329, - "src": "5766:26:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 4554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:46:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4555, - "nodeType": "ExpressionStatement", - "src": "5766:46:20" - } - ] - }, - "documentation": null, - "functionSelector": "c3a2a665", - "id": 4557, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "retrieve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4542, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4557, - "src": "5716:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5716:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4544, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4557, - "src": "5731:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5731:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5715:31:20" - }, - "returnParameters": { - "id": 4546, - "nodeType": "ParameterList", - "parameters": [], - "src": "5756:0:20" - }, - "scope": 4558, - "src": "5698:121:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4559, - "src": "825:4996:20" - } - ], - "src": "78:5744:20" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.544Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/UniswapV2ERC20.json b/build-v1/contracts/UniswapV2ERC20.json deleted file mode 100644 index ce63d19..0000000 --- a/build-v1/contracts/UniswapV2ERC20.json +++ /dev/null @@ -1,59452 +0,0 @@ -{ - "contractName": "UniswapV2ERC20", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "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": "", - "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": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "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": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "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": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "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" - }, - { - "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" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"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\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"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\":[],\"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\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"UniswapV2ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061087f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461025b578063a9059cbb14610263578063d505accf1461028f578063dd62ed3e146102e2576100cf565b80633644e5151461020757806370a082311461020f5780637ecebe0014610235576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806323b872dd146101ab57806330adf81f146101e1578063313ce567146101e9575b600080fd5b6100dc610310565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b038135169060200135610336565b604080519115158252519081900360200190f35b61019961034d565b60408051918252519081900360200190f35b61017d600480360360608110156101c157600080fd5b506001600160a01b03813581169160208101359091169060400135610353565b6101996103ed565b6101f1610411565b6040805160ff9092168252519081900360200190f35b610199610416565b6101996004803603602081101561022557600080fd5b50356001600160a01b031661041c565b6101996004803603602081101561024b57600080fd5b50356001600160a01b031661042e565b6100dc610440565b61017d6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610462565b6102e0600480360360e08110156102a557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561046f565b005b610199600480360360408110156102f857600080fd5b506001600160a01b0381358116916020013516610671565b6040518060400160405280600a8152602001692ab734b9bbb0b8102b1960b11b81525081565b600061034333848461068e565b5060015b92915050565b60005481565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146103d8576001600160a01b03841660009081526002602090815260408083203384529091529020546103b3908363ffffffff6106f016565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6103e3848484610740565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60016020526000908152604090205481565b60046020526000908152604090205481565b604051806040016040528060068152602001652aa72496ab1960d11b81525081565b6000610343338484610740565b428410156104b9576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156105d4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061060a5750886001600160a01b0316816001600160a01b0316145b61065b576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b61066689898961068e565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610347576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260016020526040902054610769908263ffffffff6106f016565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461079e908263ffffffff6107fa16565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b80820182811015610347576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea264697066735822122085851fcb2dce7079afb1362dcdd77a9cf96d9405eb09e287aad41428f4a8016464736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461025b578063a9059cbb14610263578063d505accf1461028f578063dd62ed3e146102e2576100cf565b80633644e5151461020757806370a082311461020f5780637ecebe0014610235576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806323b872dd146101ab57806330adf81f146101e1578063313ce567146101e9575b600080fd5b6100dc610310565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b038135169060200135610336565b604080519115158252519081900360200190f35b61019961034d565b60408051918252519081900360200190f35b61017d600480360360608110156101c157600080fd5b506001600160a01b03813581169160208101359091169060400135610353565b6101996103ed565b6101f1610411565b6040805160ff9092168252519081900360200190f35b610199610416565b6101996004803603602081101561022557600080fd5b50356001600160a01b031661041c565b6101996004803603602081101561024b57600080fd5b50356001600160a01b031661042e565b6100dc610440565b61017d6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610462565b6102e0600480360360e08110156102a557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561046f565b005b610199600480360360408110156102f857600080fd5b506001600160a01b0381358116916020013516610671565b6040518060400160405280600a8152602001692ab734b9bbb0b8102b1960b11b81525081565b600061034333848461068e565b5060015b92915050565b60005481565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146103d8576001600160a01b03841660009081526002602090815260408083203384529091529020546103b3908363ffffffff6106f016565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6103e3848484610740565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60016020526000908152604090205481565b60046020526000908152604090205481565b604051806040016040528060068152602001652aa72496ab1960d11b81525081565b6000610343338484610740565b428410156104b9576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156105d4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061060a5750886001600160a01b0316816001600160a01b0316145b61065b576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b61066689898961068e565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610347576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260016020526040902054610769908263ffffffff6106f016565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461079e908263ffffffff6107fa16565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b80820182811015610347576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea264697066735822122085851fcb2dce7079afb1362dcdd77a9cf96d9405eb09e287aad41428f4a8016464736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "4876:3134:21:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "4876:3134:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4939:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6571:147;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6571:147:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5074:26;;;:::i;:::-;;;;;;;;;;;;;;;;6869:331;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6869:331:21;;;;;;;;;;;;;;;;;:::i;5368:108::-;;;:::i;5033:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5227:31;;;:::i;5106:44::-;;;;;;;;;;;;;;;;-1:-1:-1;5106:44:21;-1:-1:-1;;;;;5106:44:21;;:::i;5482:41::-;;;;;;;;;;;;;;;;-1:-1:-1;5482:41:21;-1:-1:-1;;;;;5482:41:21;;:::i;4987:40::-;;;:::i;6724:139::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6724:139:21;;;;;;;;:::i;7206:802::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7206:802:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5156:64;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5156:64:21;;;;;;;;;;:::i;4939:42::-;;;;;;;;;;;;;;-1:-1:-1;;;4939:42:21;;;;:::o;6571:147::-;6638:4;6654:36;6663:10;6675:7;6684:5;6654:8;:36::i;:::-;-1:-1:-1;6707:4:21;6571:147;;;;;:::o;5074:26::-;;;;:::o;6869:331::-;-1:-1:-1;;;;;7000:15:21;;6980:4;7000:15;;;:9;:15;;;;;;;;7016:10;7000:27;;;;;;;;-1:-1:-1;;7000:42:21;6996:141;;-1:-1:-1;;;;;7088:15:21;;;;;;:9;:15;;;;;;;;7104:10;7088:27;;;;;;;;:38;;7120:5;7088:38;:31;:38;:::i;:::-;-1:-1:-1;;;;;7058:15:21;;;;;;:9;:15;;;;;;;;7074:10;7058:27;;;;;;;:68;6996:141;7146:26;7156:4;7162:2;7166:5;7146:9;:26::i;:::-;-1:-1:-1;7189:4:21;6869:331;;;;;:::o;5368:108::-;5410:66;5368:108;:::o;5033:35::-;5066:2;5033:35;:::o;5227:31::-;;;;:::o;5106:44::-;;;;;;;;;;;;;:::o;5482:41::-;;;;;;;;;;;;;:::o;4987:40::-;;;;;;;;;;;;;;-1:-1:-1;;;4987:40:21;;;;:::o;6724:139::-;6787:4;6803:32;6813:10;6825:2;6829:5;6803:9;:32::i;7206:802::-;7419:15;7407:8;:27;;7399:58;;;;;-1:-1:-1;;;7399:58:21;;;;;;;;;;;;-1:-1:-1;;;7399:58:21;;;;;;;;;;;;;;;7569:16;;-1:-1:-1;;;;;7685:13:21;;;7467:14;7685:13;;;:6;:13;;;;;;;;:15;;;;;;;;;7634:77;;5410:66;7634:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7603:126;;;;;;-1:-1:-1;;;7507:236:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7484:269;;;;;;;;;7790:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7467:14;;7685:15;7790:26;;;;;-1:-1:-1;;7790:26:21;;;;;;;;;;7685:15;7790:26;;;;;;;;;;;;;;;-1:-1:-1;;7790:26:21;;-1:-1:-1;;7790:26:21;;;-1:-1:-1;;;;;;;7847:30:21;;;;;;:59;;;7901:5;-1:-1:-1;;;;;7881:25:21;:16;-1:-1:-1;;;;;7881:25:21;;7847:59;7826:134;;;;;-1:-1:-1;;;7826:134:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;7970:31;7979:5;7986:7;7995:5;7970:8;:31::i;:::-;7206:802;;;;;;;;;:::o;5156:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6111:199::-;-1:-1:-1;;;;;6224:16:21;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;6272:31;;;;;;;;;;;;;;;;;6111:199;;;:::o;4518:136::-;4610:5;;;4605:16;;;;4597:50;;;;;-1:-1:-1;;;4597:50:21;;;;;;;;;;;;-1:-1:-1;;;4597:50:21;;;;;;;;;;;;;;6316:249;-1:-1:-1;;;;;6442:15:21;;;;;;:9;:15;;;;;;:26;;6462:5;6442:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;6424:15:21;;;;;;;:9;:15;;;;;;:44;;;;6494:13;;;;;;;:24;;6512:5;6494:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;6478:13:21;;;;;;;:9;:13;;;;;;;;;:40;;;;6533:25;;;;;;;6478:13;;6533:25;;;;;;;;;;;;;6316:249;;;:::o;4377:135::-;4469:5;;;4464:16;;;;4456:49;;;;;-1:-1:-1;;;4456:49:21;;;;;;;;;;;;-1:-1:-1;;;4456:49:21;;;;;;;;;;;;;", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.641Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/UniswapV2Pair.json b/build-v1/contracts/UniswapV2Pair.json deleted file mode 100644 index 0b39434..0000000 --- a/build-v1/contracts/UniswapV2Pair.json +++ /dev/null @@ -1,59798 +0,0 @@ -{ - "contractName": "UniswapV2Pair", - "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": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0In", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1In", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0Out", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1Out", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "Swap", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint112", - "name": "reserve0", - "type": "uint112" - }, - { - "indexed": false, - "internalType": "uint112", - "name": "reserve1", - "type": "uint112" - } - ], - "name": "Sync", - "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": [], - "name": "MINIMUM_LIQUIDITY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "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": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "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": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "kLast", - "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": "address", - "name": "", - "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": [], - "name": "price0CumulativeLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "price1CumulativeLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "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": "value", - "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": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getReserves", - "outputs": [ - { - "internalType": "uint112", - "name": "_reserve0", - "type": "uint112" - }, - { - "internalType": "uint112", - "name": "_reserve1", - "type": "uint112" - }, - { - "internalType": "uint32", - "name": "_blockTimestampLast", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token0", - "type": "address" - }, - { - "internalType": "address", - "name": "_token1", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "liquidity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount0Out", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Out", - "type": "uint256" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "swap", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "skim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sync", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"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\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"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\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"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\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"_reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"_reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"_blockTimestampLast\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token1\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"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\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":\"UniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol\":{\"keccak256\":\"0x13276cbc5f35abd8a8599841059a1b618e394bab470fb40ae1bf382f32603043\",\"urls\":[\"bzz-raw://3c7be65f25ff007e1ad9fab37105253b91b300e289153c4e6848e5bacaf7b9d3\",\"dweb:/ipfs/QmSEaJzNeFQRGX1JPsU7aNsjcZ9zFB7snRi5Fzosysk4kG\"]}},\"version\":1}", - "bytecode": "0x60806040526001600c5534801561001557600080fd5b50600580546001600160a01b03191633179055612282806100376000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610afe565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610b24565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b4e565b604080519115158252519081900360200190f35b610339610b65565b604080516001600160a01b039092168252519081900360200190f35b61035d610b74565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b61035d610c14565b6103b5610c38565b6040805160ff9092168252519081900360200190f35b61035d610c3d565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c43565b61035d610cc7565b61035d610ccd565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610cd3565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b0316610fd3565b61035d610fe5565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316610feb565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316610ffd565b6040805192835260208301919091528051918290030190f35b6102446113a3565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356113c5565b61035d6113d2565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b03166113d8565b610339611543565b610339611552565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611561565b61035d600480360360408110156105a357600080fd5b506001600160a01b0381358116916020013516611763565b61023a611780565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806121936025913960400191505060405180910390fd5b600080610667610b24565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806121dc6021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d6118e2565b891561077057610770818a8c6118e2565b861561082b57886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561081257600080fd5b505af1158015610826573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108e757600080fd5b505afa1580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b5051925060009150506001600160701b0385168a90038311610934576000610943565b89856001600160701b03160383035b9050600089856001600160701b031603831161096057600061096f565b89856001600160701b03160383035b905060008211806109805750600081115b6109bb5760405162461bcd60e51b81526004018080602001828103825260248152602001806121b86024913960400191505060405180910390fd5b60006109ef6109d184600363ffffffff611a7c16565b6109e3876103e863ffffffff611a7c16565b9063ffffffff611adf16565b90506000610a076109d184600363ffffffff611a7c16565b9050610a38620f4240610a2c6001600160701b038b8116908b1663ffffffff611a7c16565b9063ffffffff611a7c16565b610a48838363ffffffff611a7c16565b1015610a8a576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a9884848888611b2f565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a8152602001692ab734b9bbb0b8102b1960b11b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b5b338484611cf4565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bff576001600160a01b0384166000908152600260209081526040808320338452909152902054610bda908363ffffffff611adf16565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610c0a848484611d56565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c99576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610d20576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610d30610b24565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e0157600080fd5b505afa158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b505190506000610e4a836001600160701b03871663ffffffff611adf16565b90506000610e67836001600160701b03871663ffffffff611adf16565b90506000610e758787611e10565b60005490915080610eb257610e9e6103e86109e3610e99878763ffffffff611a7c16565b611f6e565b9850610ead60006103e8611fc0565b610f01565b610efe6001600160701b038916610ecf868463ffffffff611a7c16565b81610ed657fe5b046001600160701b038916610ef1868563ffffffff611a7c16565b81610ef857fe5b04612056565b98505b60008911610f405760405162461bcd60e51b81526004018080602001828103825260288152602001806122256028913960400191505060405180910390fd5b610f4a8a8a611fc0565b610f5686868a8a611b2f565b8115610f8657600854610f82906001600160701b0380821691600160701b90041663ffffffff611a7c16565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461104b576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c8190558061105b610b24565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561112f57600080fd5b505afa158015611143573d6000803e3d6000fd5b505050506040513d602081101561115957600080fd5b5051306000908152600160205260408120549192506111788888611e10565b6000549091508061118f848763ffffffff611a7c16565b8161119657fe5b049a50806111aa848663ffffffff611a7c16565b816111b157fe5b04995060008b1180156111c4575060008a115b6111ff5760405162461bcd60e51b81526004018080602001828103825260288152602001806121fd6028913960400191505060405180910390fd5b611209308461206e565b611214878d8d6118e2565b61121f868d8c6118e2565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b15801561126557600080fd5b505afa158015611279573d6000803e3d6000fd5b505050506040513d602081101561128f57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b5051935061131585858b8b611b2f565b811561134557600854611341906001600160701b0380821691600160701b90041663ffffffff611a7c16565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060068152602001652aa72496ab1960d11b81525081565b6000610b5b338484611d56565b6103e881565b600c54600114611423576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b0394851694909316926114d292859287926114cd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b15801561149557600080fd5b505afa1580156114a9573d6000803e3d6000fd5b505050506040513d60208110156114bf57600080fd5b50519063ffffffff611adf16565b6118e2565b600854604080516370a0823160e01b8152306004820152905161153992849287926114cd92600160701b90046001600160701b0316916001600160a01b038616916370a0823191602480820192602092909190829003018186803b15801561149557600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156115ab576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156116c6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116fc5750886001600160a01b0316816001600160a01b0316145b61174d576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611758898989611cf4565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c546001146117cb576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b815230600482015290516118db926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561181c57600080fd5b505afa158015611830573d6000803e3d6000fd5b505050506040513d602081101561184657600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d60208110156118bd57600080fd5b50516008546001600160701b0380821691600160701b900416611b2f565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b6020831061198f5780518252601f199092019160209182019101611970565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146119f1576040519150601f19603f3d011682016040523d82523d6000602084013e6119f6565b606091505b5091509150818015611a24575080511580611a245750808060200190516020811015611a2157600080fd5b50515b611a75576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611a9757505080820282828281611a9457fe5b04145b610b5f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b5f576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611b4d57506001600160701b038311155b611b94576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611bc457506001600160701b03841615155b8015611bd857506001600160701b03831615155b15611c49578063ffffffff16611c0685611bf18661210c565b6001600160e01b03169063ffffffff61211e16565b600980546001600160e01b03929092169290920201905563ffffffff8116611c3184611bf18761210c565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611d7f908263ffffffff611adf16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611db4908263ffffffff61214316565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6157600080fd5b505afa158015611e75573d6000803e3d6000fd5b505050506040513d6020811015611e8b57600080fd5b5051600b546001600160a01b038216158015945091925090611f5a578015611f55576000611ece610e996001600160701b0388811690881663ffffffff611a7c16565b90506000611edb83611f6e565b905080821115611f52576000611f09611efa848463ffffffff611adf16565b6000549063ffffffff611a7c16565b90506000611f2e83611f2286600563ffffffff611a7c16565b9063ffffffff61214316565b90506000818381611f3b57fe5b0490508015611f4e57611f4e8782611fc0565b5050505b50505b611f66565b8015611f66576000600b555b505092915050565b60006003821115611fb1575080600160028204015b81811015611fab57809150600281828581611f9a57fe5b040181611fa357fe5b049050611f83565b50611fbb565b8115611fbb575060015b919050565b600054611fd3908263ffffffff61214316565b60009081556001600160a01b038316815260016020526040902054611ffe908263ffffffff61214316565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106120655781612067565b825b9392505050565b6001600160a01b038216600090815260016020526040902054612097908263ffffffff611adf16565b6001600160a01b038316600090815260016020526040812091909155546120c4908263ffffffff611adf16565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161213b57fe5b049392505050565b80820182811015610b5f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220dfe422fce9615ec1f80c1f8a063e80317755f61383c2aae25f0731d4f6bf9d0164736f6c63430006090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610afe565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610b24565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b4e565b604080519115158252519081900360200190f35b610339610b65565b604080516001600160a01b039092168252519081900360200190f35b61035d610b74565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b61035d610c14565b6103b5610c38565b6040805160ff9092168252519081900360200190f35b61035d610c3d565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c43565b61035d610cc7565b61035d610ccd565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610cd3565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b0316610fd3565b61035d610fe5565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316610feb565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316610ffd565b6040805192835260208301919091528051918290030190f35b6102446113a3565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356113c5565b61035d6113d2565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b03166113d8565b610339611543565b610339611552565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611561565b61035d600480360360408110156105a357600080fd5b506001600160a01b0381358116916020013516611763565b61023a611780565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806121936025913960400191505060405180910390fd5b600080610667610b24565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806121dc6021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d6118e2565b891561077057610770818a8c6118e2565b861561082b57886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561081257600080fd5b505af1158015610826573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108e757600080fd5b505afa1580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b5051925060009150506001600160701b0385168a90038311610934576000610943565b89856001600160701b03160383035b9050600089856001600160701b031603831161096057600061096f565b89856001600160701b03160383035b905060008211806109805750600081115b6109bb5760405162461bcd60e51b81526004018080602001828103825260248152602001806121b86024913960400191505060405180910390fd5b60006109ef6109d184600363ffffffff611a7c16565b6109e3876103e863ffffffff611a7c16565b9063ffffffff611adf16565b90506000610a076109d184600363ffffffff611a7c16565b9050610a38620f4240610a2c6001600160701b038b8116908b1663ffffffff611a7c16565b9063ffffffff611a7c16565b610a48838363ffffffff611a7c16565b1015610a8a576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a9884848888611b2f565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a8152602001692ab734b9bbb0b8102b1960b11b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b5b338484611cf4565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bff576001600160a01b0384166000908152600260209081526040808320338452909152902054610bda908363ffffffff611adf16565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610c0a848484611d56565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c99576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610d20576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610d30610b24565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e0157600080fd5b505afa158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b505190506000610e4a836001600160701b03871663ffffffff611adf16565b90506000610e67836001600160701b03871663ffffffff611adf16565b90506000610e758787611e10565b60005490915080610eb257610e9e6103e86109e3610e99878763ffffffff611a7c16565b611f6e565b9850610ead60006103e8611fc0565b610f01565b610efe6001600160701b038916610ecf868463ffffffff611a7c16565b81610ed657fe5b046001600160701b038916610ef1868563ffffffff611a7c16565b81610ef857fe5b04612056565b98505b60008911610f405760405162461bcd60e51b81526004018080602001828103825260288152602001806122256028913960400191505060405180910390fd5b610f4a8a8a611fc0565b610f5686868a8a611b2f565b8115610f8657600854610f82906001600160701b0380821691600160701b90041663ffffffff611a7c16565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461104b576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c8190558061105b610b24565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561112f57600080fd5b505afa158015611143573d6000803e3d6000fd5b505050506040513d602081101561115957600080fd5b5051306000908152600160205260408120549192506111788888611e10565b6000549091508061118f848763ffffffff611a7c16565b8161119657fe5b049a50806111aa848663ffffffff611a7c16565b816111b157fe5b04995060008b1180156111c4575060008a115b6111ff5760405162461bcd60e51b81526004018080602001828103825260288152602001806121fd6028913960400191505060405180910390fd5b611209308461206e565b611214878d8d6118e2565b61121f868d8c6118e2565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b15801561126557600080fd5b505afa158015611279573d6000803e3d6000fd5b505050506040513d602081101561128f57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b5051935061131585858b8b611b2f565b811561134557600854611341906001600160701b0380821691600160701b90041663ffffffff611a7c16565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060068152602001652aa72496ab1960d11b81525081565b6000610b5b338484611d56565b6103e881565b600c54600114611423576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b0394851694909316926114d292859287926114cd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b15801561149557600080fd5b505afa1580156114a9573d6000803e3d6000fd5b505050506040513d60208110156114bf57600080fd5b50519063ffffffff611adf16565b6118e2565b600854604080516370a0823160e01b8152306004820152905161153992849287926114cd92600160701b90046001600160701b0316916001600160a01b038616916370a0823191602480820192602092909190829003018186803b15801561149557600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156115ab576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156116c6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116fc5750886001600160a01b0316816001600160a01b0316145b61174d576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611758898989611cf4565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c546001146117cb576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b815230600482015290516118db926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561181c57600080fd5b505afa158015611830573d6000803e3d6000fd5b505050506040513d602081101561184657600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d60208110156118bd57600080fd5b50516008546001600160701b0380821691600160701b900416611b2f565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b6020831061198f5780518252601f199092019160209182019101611970565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146119f1576040519150601f19603f3d011682016040523d82523d6000602084013e6119f6565b606091505b5091509150818015611a24575080511580611a245750808060200190516020811015611a2157600080fd5b50515b611a75576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611a9757505080820282828281611a9457fe5b04145b610b5f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b5f576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611b4d57506001600160701b038311155b611b94576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611bc457506001600160701b03841615155b8015611bd857506001600160701b03831615155b15611c49578063ffffffff16611c0685611bf18661210c565b6001600160e01b03169063ffffffff61211e16565b600980546001600160e01b03929092169290920201905563ffffffff8116611c3184611bf18761210c565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611d7f908263ffffffff611adf16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611db4908263ffffffff61214316565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6157600080fd5b505afa158015611e75573d6000803e3d6000fd5b505050506040513d6020811015611e8b57600080fd5b5051600b546001600160a01b038216158015945091925090611f5a578015611f55576000611ece610e996001600160701b0388811690881663ffffffff611a7c16565b90506000611edb83611f6e565b905080821115611f52576000611f09611efa848463ffffffff611adf16565b6000549063ffffffff611a7c16565b90506000611f2e83611f2286600563ffffffff611a7c16565b9063ffffffff61214316565b90506000818381611f3b57fe5b0490508015611f4e57611f4e8782611fc0565b5050505b50505b611f66565b8015611f66576000600b555b505092915050565b60006003821115611fb1575080600160028204015b81811015611fab57809150600281828581611f9a57fe5b040181611fa357fe5b049050611f83565b50611fbb565b8115611fbb575060015b919050565b600054611fd3908263ffffffff61214316565b60009081556001600160a01b038316815260016020526040902054611ffe908263ffffffff61214316565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106120655781612067565b825b9392505050565b6001600160a01b038216600090815260016020526040902054612097908263ffffffff611adf16565b6001600160a01b038316600090815260016020526040812091909155546120c4908263ffffffff611adf16565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161213b57fe5b049392505050565b80820182811015610b5f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220dfe422fce9615ec1f80c1f8a063e80317755f61383c2aae25f0731d4f6bf9d0164736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "11264:10162:21:-:0;;;12094:1;12067:28;;13315:58;;;;;;;;;-1:-1:-1;13346:7:21;:20;;-1:-1:-1;;;;;;13346:20:21;13356:10;13346:20;;;11264:10162;;;;;;", - "deployedSourceMap": "11264:10162:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18630:2159;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18630:2159:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18630:2159:21;;-1:-1:-1;18630:2159:21;-1:-1:-1;18630:2159:21;:::i;:::-;;4939:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12238:301;;;:::i;:::-;;;;-1:-1:-1;;;;;12238:301:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6571:147;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6571:147:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;11555:21;;;:::i;:::-;;;;-1:-1:-1;;;;;11555:21:21;;;;;;;;;;;;;;5074:26;;;:::i;:::-;;;;;;;;;;;;;;;;6869:331;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6869:331:21;;;;;;;;;;;;;;;;;:::i;5368:108::-;;;:::i;5033:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5227:31;;;:::i;13435:206::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13435:206:21;;;;;;;;;;:::i;11878:35::-;;;:::i;11919:::-;;;:::i;15720:1288::-;;;;;;;;;;;;;;;;-1:-1:-1;15720:1288:21;-1:-1:-1;;;;;15720:1288:21;;:::i;5106:44::-;;;;;;;;;;;;;;;;-1:-1:-1;5106:44:21;-1:-1:-1;;;;;5106:44:21;;:::i;11960:20::-;;;:::i;5482:41::-;;;;;;;;;;;;;;;;-1:-1:-1;5482:41:21;-1:-1:-1;;;;;5482:41:21;;:::i;17117:1404::-;;;;;;;;;;;;;;;;-1:-1:-1;17117:1404:21;-1:-1:-1;;;;;17117:1404:21;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4987:40;;;:::i;6724:139::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6724:139:21;;;;;;;;:::i;11377:49::-;;;:::i;20835:329::-;;;;;;;;;;;;;;;;-1:-1:-1;20835:329:21;-1:-1:-1;;;;;20835:329:21;;:::i;11527:22::-;;;:::i;11582:21::-;;;:::i;7206:802::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7206:802:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5156:64::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5156:64:21;;;;;;;;;;:::i;21210:214::-;;;:::i;18630:2159::-;12135:8;;12147:1;12135:13;12127:43;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;;;;12191:1;12180:8;:12;18787:14;;;;:32:::1;;;18818:1;18805:10;:14;18787:32;18779:82;;;;-1:-1:-1::0;;;18779:82:21::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18872:17;18891::::0;18914:13:::1;:11;:13::i;:::-;18871:56;;;;;18986:9;-1:-1:-1::0;;;;;18973:22:21::1;:10;:22;:48;;;;;19012:9;-1:-1:-1::0;;;;;18999:22:21::1;:10;:22;18973:48;18952:128;;;;-1:-1:-1::0;;;18952:128:21::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19242:6;::::0;19280::::1;::::0;19091:16:::1;::::0;;;-1:-1:-1;;;;;19242:6:21;;::::1;::::0;19280;;::::1;::::0;19308:13;::::1;::::0;::::1;::::0;::::1;::::0;:30:::1;;;19331:7;-1:-1:-1::0;;;;;19325:13:21::1;:2;-1:-1:-1::0;;;;;19325:13:21::1;;;19308:30;19300:64;;;::::0;;-1:-1:-1;;;19300:64:21;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;19300:64:21;;;;;;;;;;;;;::::1;;19382:14:::0;;19378:58:::1;;19398:38;19412:7;19421:2;19425:10;19398:13;:38::i;:::-;19488:14:::0;;19484:58:::1;;19504:38;19518:7;19527:2;19531:10;19504:13;:38::i;:::-;19594:15:::0;;19590:113:::1;;19644:2;-1:-1:-1::0;;;;;19627:34:21::1;;19662:10;19674;19686;19698:4;;19627:76;;;;;;;;;;;;;-1:-1:-1::0;;;;;19627:76:21::1;-1:-1:-1::0;;;;;19627:76:21::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19590:113;19728:40;::::0;;-1:-1:-1;;;19728:40:21;;19762:4:::1;19728:40;::::0;::::1;::::0;;;-1:-1:-1;;;;;19728:25:21;::::1;::::0;::::1;::::0;:40;;;;;::::1;::::0;;;;;;;;:25;:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;19728:40:21;19793::::1;::::0;;-1:-1:-1;;;19793:40:21;;19827:4:::1;19793:40;::::0;::::1;::::0;;;19728;;-1:-1:-1;;;;;;19793:25:21;::::1;::::0;::::1;::::0;:40;;;;;19728::::1;::::0;19793;;;;;;;;:25;:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;19793:40:21;;-1:-1:-1;19853:17:21::1;::::0;-1:-1:-1;;;;;;;19884:22:21;::::1;::::0;;::::1;19873:33:::0;::::1;:99;;19971:1;19873:99;;;19945:10;19933:9;-1:-1:-1::0;;;;;19933:22:21::1;;19921:8;:35;19873:99;19853:119;;19982:17;20025:10;20013:9;-1:-1:-1::0;;;;;20013:22:21::1;;20002:8;:33;:99;;20100:1;20002:99;;;20074:10;20062:9;-1:-1:-1::0;;;;;20062:22:21::1;;20050:8;:35;20002:99;19982:119;;20131:1;20119:9;:13;:30;;;;20148:1;20136:9;:13;20119:30;20111:79;;;;-1:-1:-1::0;;;20111:79:21::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20290:24;20317:40;20340:16;:9:::0;20354:1:::1;20340:16;:13;:16;:::i;:::-;20317:18;:8:::0;20330:4:::1;20317:18;:12;:18;:::i;:::-;:22:::0;:40:::1;:22;:40;:::i;:::-;20290:67:::0;-1:-1:-1;20371:24:21::1;20398:40;20421:16;:9:::0;20435:1:::1;20421:16;:13;:16;:::i;20398:40::-;20371:67:::0;-1:-1:-1;20539:46:21::1;20577:7;20539:33;-1:-1:-1::0;;;;;20539:18:21;;::::1;::::0;:33;::::1;;:22;:33;:::i;:::-;:37:::0;:46:::1;:37;:46;:::i;:::-;20477:38;:16:::0;20498;20477:38:::1;:20;:38;:::i;:::-;:108;;20452:179;;;::::0;;-1:-1:-1;;;20452:179:21;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;20452:179:21;;;;;;;;;;;;;::::1;;12202:1;;20652:49;20660:8;20670;20680:9;20691;20652:7;:49::i;:::-;20716:66;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20716:66:21;::::1;::::0;20721:10:::1;::::0;20716:66:::1;::::0;;;;;;;::::1;-1:-1:-1::0;;12224:1:21;12213:8;:12;-1:-1:-1;;;;;;;;;18630:2159:21:o;4939:42::-;;;;;;;;;;;;;;-1:-1:-1;;;4939:42:21;;;;:::o;12238:301::-;12444:8;;-1:-1:-1;;;;;12444:8:21;;;;-1:-1:-1;;;12474:8:21;;;;;;-1:-1:-1;;;12514:18:21;;;;;12238:301::o;6571:147::-;6638:4;6654:36;6663:10;6675:7;6684:5;6654:8;:36::i;:::-;-1:-1:-1;6707:4:21;6571:147;;;;;:::o;11555:21::-;;;-1:-1:-1;;;;;11555:21:21;;:::o;5074:26::-;;;;:::o;6869:331::-;-1:-1:-1;;;;;7000:15:21;;6980:4;7000:15;;;:9;:15;;;;;;;;7016:10;7000:27;;;;;;;;-1:-1:-1;;7000:42:21;6996:141;;-1:-1:-1;;;;;7088:15:21;;;;;;:9;:15;;;;;;;;7104:10;7088:27;;;;;;;;:38;;7120:5;7088:38;:31;:38;:::i;:::-;-1:-1:-1;;;;;7058:15:21;;;;;;:9;:15;;;;;;;;7074:10;7058:27;;;;;;;:68;6996:141;7146:26;7156:4;7162:2;7166:5;7146:9;:26::i;:::-;-1:-1:-1;7189:4:21;6869:331;;;;;:::o;5368:108::-;5410:66;5368:108;:::o;5033:35::-;5066:2;5033:35;:::o;5227:31::-;;;;:::o;13435:206::-;13530:7;;-1:-1:-1;;;;;13530:7:21;13516:10;:21;13508:54;;;;;-1:-1:-1;;;13508:54:21;;;;;;;;;;;;-1:-1:-1;;;13508:54:21;;;;;;;;;;;;;;;13592:6;:16;;-1:-1:-1;;;;;13592:16:21;;;-1:-1:-1;;;;;;13592:16:21;;;;;;;13618:6;:16;;;;;;;;;;;13435:206::o;11878:35::-;;;;:::o;11919:::-;;;;:::o;15720:1288::-;15769:17;12135:8;;12147:1;12135:13;12127:43;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;;;;12191:1;12180:8;:12;;;12191:1;15841:13:::1;:11;:13::i;:::-;-1:-1:-1::0;15905:6:21::1;::::0;15898:39:::1;::::0;;-1:-1:-1;;;15898:39:21;;15931:4:::1;15898:39;::::0;::::1;::::0;;;15798:56;;-1:-1:-1;15798:56:21;;-1:-1:-1;15879:16:21::1;::::0;-1:-1:-1;;;;;15905:6:21;;::::1;::::0;15898:24:::1;::::0;:39;;;;;::::1;::::0;;;;;;;;15905:6;15898:39;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15898:39:21;15973:6:::1;::::0;15966:39:::1;::::0;;-1:-1:-1;;;15966:39:21;;15999:4:::1;15966:39;::::0;::::1;::::0;;;15898;;-1:-1:-1;15947:16:21::1;::::0;-1:-1:-1;;;;;15973:6:21;;::::1;::::0;15966:24:::1;::::0;:39;;;;;15898::::1;::::0;15966;;;;;;;;15973:6;15966:39;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15966:39:21;;-1:-1:-1;16015:15:21::1;16033:23;:8:::0;-1:-1:-1;;;;;16033:23:21;::::1;;:12;:23;:::i;:::-;16015:41:::0;-1:-1:-1;16066:15:21::1;16084:23;:8:::0;-1:-1:-1;;;;;16084:23:21;::::1;;:12;:23;:::i;:::-;16066:41;;16118:10;16131:30;16140:9;16151;16131:8;:30::i;:::-;16171:20;16194:11:::0;16118:43;;-1:-1:-1;16297:17:21;16293:394:::1;;16342:54;11421:5;16342:31;16352:20;:7:::0;16364;16352:20:::1;:11;:20;:::i;:::-;16342:9;:31::i;:54::-;16330:66;;16410:36;16424:1;11421:5;16410;:36::i;:::-;16293:394;;;16544:132;-1:-1:-1::0;;;;;16570:37:21;::::1;:25;:7:::0;16582:12;16570:25:::1;:11;:25;:::i;:::-;:37;;;;;;-1:-1:-1::0;;;;;16625:37:21;::::1;:25;:7:::0;16637:12;16625:25:::1;:11;:25;:::i;:::-;:37;;;;;;16544:8;:132::i;:::-;16532:144;;16293:394;16716:1;16704:9;:13;16696:66;;;;-1:-1:-1::0;;;16696:66:21::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16772:20;16778:2;16782:9;16772:5;:20::i;:::-;16803:49;16811:8;16821;16831:9;16842;16803:7;:49::i;:::-;16866:5;16862:50;;;16903:8;::::0;16881:31:::1;::::0;-1:-1:-1;;;;;16889:8:21;;::::1;::::0;-1:-1:-1;;;16903:8:21;::::1;;16881:31;:21;:31;:::i;:::-;16873:5;:39:::0;16862:50:::1;16967:34;::::0;;;;;::::1;::::0;::::1;::::0;;;;;16972:10:::1;::::0;16967:34:::1;::::0;;;;;;::::1;-1:-1:-1::0;;12224:1:21;12213:8;:12;-1:-1:-1;15720:1288:21;;;-1:-1:-1;;;;;;15720:1288:21:o;5106:44::-;;;;;;;;;;;;;:::o;11960:20::-;;;;:::o;5482:41::-;;;;;;;;;;;;;:::o;17117:1404::-;17166:15;17183;12135:8;;12147:1;12135:13;12127:43;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;;;;12191:1;12180:8;:12;;;12191:1;17253:13:::1;:11;:13::i;:::-;-1:-1:-1::0;17309:6:21::1;::::0;17358::::1;::::0;17408:40:::1;::::0;;-1:-1:-1;;;17408:40:21;;17442:4:::1;17408:40;::::0;::::1;::::0;;;17210:56;;-1:-1:-1;17210:56:21;;-1:-1:-1;;;;;;17309:6:21;;::::1;::::0;17358;::::1;::::0;17291:15:::1;::::0;17309:6;;17408:25:::1;::::0;:40;;;;;::::1;::::0;;;;;;;;17309:6;17408:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17408:40:21;17477::::1;::::0;;-1:-1:-1;;;17477:40:21;;17511:4:::1;17477:40;::::0;::::1;::::0;;;17408;;-1:-1:-1;17458:16:21::1;::::0;-1:-1:-1;;;;;17477:25:21;::::1;::::0;::::1;::::0;:40;;;;;17408::::1;::::0;17477;;;;;;;:25;:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17477:40:21;17565:4:::1;17527:17;17547:24:::0;;;:9:::1;17477:40;17547:24:::0;;;;;17477:40;;-1:-1:-1;17595:30:21::1;17604:9:::0;17615;17595:8:::1;:30::i;:::-;17635:20;17658:11:::0;17582:43;;-1:-1:-1;17658:11:21;17767:23:::1;:9:::0;17781:8;17767:23:::1;:13;:23;:::i;:::-;:38;;;;;;::::0;-1:-1:-1;17899:12:21;17873:23:::1;:9:::0;17887:8;17873:23:::1;:13;:23;:::i;:::-;:38;;;;;;17863:48;;17987:1;17977:7;:11;:26;;;;;18002:1;17992:7;:11;17977:26;17969:79;;;;-1:-1:-1::0;;;17969:79:21::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18058:31;18072:4;18079:9;18058:5;:31::i;:::-;18099:35;18113:7;18122:2;18126:7;18099:13;:35::i;:::-;18144;18158:7;18167:2;18171:7;18144:13;:35::i;:::-;18200:40;::::0;;-1:-1:-1;;;18200:40:21;;18234:4:::1;18200:40;::::0;::::1;::::0;;;-1:-1:-1;;;;;18200:25:21;::::1;::::0;::::1;::::0;:40;;;;;::::1;::::0;;;;;;;;:25;:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;18200:40:21;18261::::1;::::0;;-1:-1:-1;;;18261:40:21;;18295:4:::1;18261:40;::::0;::::1;::::0;;;18200;;-1:-1:-1;;;;;;18261:25:21;::::1;::::0;::::1;::::0;:40;;;;;18200::::1;::::0;18261;;;;;;;;:25;:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;18261:40:21;;-1:-1:-1;18312:49:21::1;18320:8:::0;18261:40;18340:9;18351;18312:7:::1;:49::i;:::-;18375:5;18371:50;;;18412:8;::::0;18390:31:::1;::::0;-1:-1:-1;;;;;18398:8:21;;::::1;::::0;-1:-1:-1;;;18412:8:21;::::1;;18390:31;:21;:31;:::i;:::-;18382:5;:39:::0;18371:50:::1;18476:38;::::0;;;;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;18476:38:21;::::1;::::0;18481:10:::1;::::0;18476:38:::1;::::0;;;;;;;;;::::1;12202:1;;;;;;;;;12224::::0;12213:8;:12;;;;17117:1404;;;:::o;4987:40::-;;;;;;;;;;;;;;-1:-1:-1;;;4987:40:21;;;;:::o;6724:139::-;6787:4;6803:32;6813:10;6825:2;6829:5;6803:9;:32::i;11377:49::-;11421:5;11377:49;:::o;20835:329::-;12135:8;;12147:1;12135:13;12127:43;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;;;;12191:1;12180:8;:12;20903:6:::1;::::0;20952::::1;::::0;21055:8:::1;::::0;21010:40:::1;::::0;;-1:-1:-1;;;21010:40:21;;21044:4:::1;21010:40;::::0;::::1;::::0;;;-1:-1:-1;;;;;20903:6:21;;::::1;::::0;20952;;::::1;::::0;20983:82:::1;::::0;20903:6;;21006:2;;21010:54:::1;::::0;-1:-1:-1;;;;;21055:8:21::1;::::0;20903:6;;21010:25:::1;::::0;:40;;;;;::::1;::::0;;;;;;;;;20903:6;21010:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;21010:40:21;;:54:::1;:44;:54;:::i;:::-;20983:13;:82::i;:::-;21147:8;::::0;21102:40:::1;::::0;;-1:-1:-1;;;21102:40:21;;21136:4:::1;21102:40;::::0;::::1;::::0;;;21075:82:::1;::::0;21089:7;;21098:2;;21102:54:::1;::::0;-1:-1:-1;;;21147:8:21;::::1;-1:-1:-1::0;;;;;21147:8:21::1;::::0;-1:-1:-1;;;;;21102:25:21;::::1;::::0;::::1;::::0;:40;;;;;::::1;::::0;;;;;;;;;:25;:40;::::1;;::::0;::::1;;;;::::0;::::1;21075:82;-1:-1:-1::0;;12224:1:21;12213:8;:12;-1:-1:-1;20835:329:21:o;11527:22::-;;;-1:-1:-1;;;;;11527:22:21;;:::o;11582:21::-;;;-1:-1:-1;;;;;11582:21:21;;:::o;7206:802::-;7419:15;7407:8;:27;;7399:58;;;;;-1:-1:-1;;;7399:58:21;;;;;;;;;;;;-1:-1:-1;;;7399:58:21;;;;;;;;;;;;;;;7569:16;;-1:-1:-1;;;;;7685:13:21;;;7467:14;7685:13;;;:6;:13;;;;;;;;:15;;;;;;;;;7634:77;;5410:66;7634:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7603:126;;;;;;-1:-1:-1;;;7507:236:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7484:269;;;;;;;;;7790:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7467:14;;7685:15;7790:26;;;;;-1:-1:-1;;7790:26:21;;;;;;;;;;7685:15;7790:26;;;;;;;;;;;;;;;-1:-1:-1;;7790:26:21;;-1:-1:-1;;7790:26:21;;;-1:-1:-1;;;;;;;7847:30:21;;;;;;:59;;;7901:5;-1:-1:-1;;;;;7881:25:21;:16;-1:-1:-1;;;;;7881:25:21;;7847:59;7826:134;;;;;-1:-1:-1;;;7826:134:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;7970:31;7979:5;7986:7;7995:5;7970:8;:31::i;:::-;7206:802;;;;;;;;;:::o;5156:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;21210:214::-;12135:8;;12147:1;12135:13;12127:43;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;-1:-1:-1;;;12127:43:21;;;;;;;;;;;;;;;12191:1;12180:8;:12;21278:6:::1;::::0;21271:39:::1;::::0;;-1:-1:-1;;;21271:39:21;;21304:4:::1;21271:39;::::0;::::1;::::0;;;21250:167:::1;::::0;-1:-1:-1;;;;;21278:6:21::1;::::0;21271:24:::1;::::0;:39;;;;;::::1;::::0;;;;;;;;21278:6;21271:39;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;21271:39:21;21331:6:::1;::::0;21324:39:::1;::::0;;-1:-1:-1;;;21324:39:21;;21357:4:::1;21324:39;::::0;::::1;::::0;;;-1:-1:-1;;;;;21331:6:21;;::::1;::::0;21324:24:::1;::::0;:39;;;;;21271::::1;::::0;21324;;;;;;;;21331:6;21324:39;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;21324:39:21;21377:8:::1;::::0;-1:-1:-1;;;;;21377:8:21;;::::1;::::0;-1:-1:-1;;;21399:8:21;::::1;;21250:7;:167::i;:::-;12224:1:::0;12213:8;:12;21210:214::o;12545:351::-;11484:34;;;;;;;;;;;;;;;;;12705:43;;-1:-1:-1;;;;;12705:43:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12705:43:21;-1:-1:-1;;;12705:43:21;;;12694:55;;;;12659:12;;12673:17;;12694:10;;;12705:43;12694:55;;;12705:43;12694:55;;12705:43;12694:55;;;;;;;;;;-1:-1:-1;;12694:55:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12658:91;;;;12780:7;:57;;;;-1:-1:-1;12792:11:21;;:16;;:44;;;12823:4;12812:24;;;;;;;;;;;;;;;-1:-1:-1;12812:24:21;12792:44;12759:130;;;;;-1:-1:-1;;;12759:130:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;12545:351;;;;;:::o;4660:149::-;4718:9;4747:6;;;:30;;-1:-1:-1;;4762:5:21;;;4776:1;4771;4762:5;4771:1;4757:15;;;;;:20;4747:30;4739:63;;;;;-1:-1:-1;;;4739:63:21;;;;;;;;;;;;-1:-1:-1;;;4739:63:21;;;;;;;;;;;;;;4518:136;4610:5;;;4605:16;;;;4597:50;;;;;-1:-1:-1;;;4597:50:21;;;;;;;;;;;;-1:-1:-1;;;4597:50:21;;;;;;;;;;;;;;13723:961;-1:-1:-1;;;;;13878:23:21;;;;;:50;;-1:-1:-1;;;;;;13905:23:21;;;13878:50;13870:82;;;;;-1:-1:-1;;;13870:82:21;;;;;;;;;;;;-1:-1:-1;;;13870:82:21;;;;;;;;;;;;;;;14065:18;;13993:23;:15;:23;;;-1:-1:-1;;;14065:18:21;;;;14048:35;;;14120:15;;;;;;:33;;-1:-1:-1;;;;;;14139:14:21;;;;14120:33;:51;;;;-1:-1:-1;;;;;;14157:14:21;;;;14120:51;14116:402;;;14359:11;14287:83;;14295:44;14329:9;14295:27;14312:9;14295:16;:27::i;:::-;-1:-1:-1;;;;;14295:33:21;;:44;:33;:44;:::i;:::-;14247:20;:123;;-1:-1:-1;;;;;14287:53:21;;;;:83;;;;14247:123;;;14424:83;;;14432:44;14466:9;14432:27;14449:9;14432:16;:27::i;:44::-;14384:20;:123;;-1:-1:-1;;;;;14424:53:21;;;;:83;;;;14384:123;;;14116:402;14527:8;:28;;-1:-1:-1;;14527:28:21;-1:-1:-1;;;;;14527:28:21;;;;;;;-1:-1:-1;;;;14565:28:21;-1:-1:-1;;;14565:28:21;;;;;;;;;-1:-1:-1;;;;;14603:35:21;-1:-1:-1;;;14603:35:21;;;;;;;;;14653:24;;;14658:8;;;14653:24;;14668:8;;;;;;;14653:24;;;;;;;;;;;;;;;;;13723:961;;;;;;:::o;6111:199::-;-1:-1:-1;;;;;6224:16:21;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;6272:31;;;;;;;;;;;;;;;;;6111:199;;;:::o;6316:249::-;-1:-1:-1;;;;;6442:15:21;;;;;;:9;:15;;;;;;:26;;6462:5;6442:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;6424:15:21;;;;;;;:9;:15;;;;;;:44;;;;6494:13;;;;;;;:24;;6512:5;6494:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;6478:13:21;;;;;;;:9;:13;;;;;;;;;:40;;;;6533:25;;;;;;;6478:13;;6533:25;;;;;;;;;;;;;6316:249;;;:::o;14771:840::-;14844:10;14866:13;14900:7;;;;;;;;;-1:-1:-1;;;;;14900:7:21;-1:-1:-1;;;;;14882:32:21;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14882:34:21;14980:5;;-1:-1:-1;;;;;14934:19:21;;;;;;-1:-1:-1;14882:34:21;;-1:-1:-1;14980:5:21;15010:595;;15039:11;;15035:503;;15070:13;15086:44;15096:33;-1:-1:-1;;;;;15096:18:21;;;;:33;;;:22;:33;:::i;15086:44::-;15070:60;;15148:17;15168;15178:6;15168:9;:17::i;:::-;15148:37;;15215:9;15207:5;:17;15203:321;;;15248:17;15268:37;15284:20;:5;15294:9;15284:20;:9;:20;:::i;:::-;15268:11;;;:37;:15;:37;:::i;:::-;15248:57;-1:-1:-1;15327:19:21;15349:27;15366:9;15349:12;:5;15359:1;15349:12;:9;:12;:::i;:::-;:16;:27;:16;:27;:::i;:::-;15327:49;;15398:17;15430:11;15418:9;:23;;;;;;;-1:-1:-1;15467:13:21;;15463:42;;15482:23;15488:5;15495:9;15482:5;:23::i;:::-;15203:321;;;;15035:503;;;15010:595;;;15558:11;;15554:51;;15593:1;15585:5;:9;15554:51;14771:840;;;;;;:::o;8365:301::-;8413:9;8442:1;8438;:5;8434:226;;;-1:-1:-1;8463:1:21;8498;8494;8490:5;;:9;8513:89;8524:1;8520;:5;8513:89;;;8549:1;8545:5;;8586:1;8581;8577;8573;:5;;;;;;:9;8572:15;;;;;;8568:19;;8513:89;;;8434:226;;;;8622:6;;8618:42;;-1:-1:-1;8648:1:21;8618:42;8365:301;;;:::o;5691:200::-;5766:11;;:22;;5782:5;5766:22;:15;:22;:::i;:::-;5752:11;:36;;;-1:-1:-1;;;;;5814:13:21;;;;:9;:13;;;;;;:24;;5832:5;5814:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;5798:13:21;;;;;;:9;:13;;;;;;;;:40;;;;5853:31;;;;;;;5798:13;;;;5853:31;;;;;;;;;;5691:200;;:::o;8147:103::-;8205:9;8234:1;8230;:5;:13;;8242:1;8230:13;;;8238:1;8230:13;8226:17;8147:103;-1:-1:-1;;;8147:103:21:o;5897:208::-;-1:-1:-1;;;;;5978:15:21;;;;;;:9;:15;;;;;;:26;;5998:5;5978:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;5960:15:21;;;;;;:9;:15;;;;;:44;;;;6028:11;:22;;6044:5;6028:22;:15;:22;:::i;:::-;6014:11;:36;;;6065:33;;;;;;;;-1:-1:-1;;;;;6065:33:21;;;;;;;;;;;;;5897:208;;:::o;8995:118::-;-1:-1:-1;;;;;9070:10:21;-1:-1:-1;;;9070:17:21;;8995:118::o;9181:106::-;9241:9;-1:-1:-1;;;;;9270:10:21;;-1:-1:-1;;;;;9266:14:21;;9270:10;9266:14;;;;;;9181:106;-1:-1:-1;;;9181:106:21:o;4377:135::-;4469:5;;;4464:16;;;;4456:49;;;;;-1:-1:-1;;;4456:49:21;;;;;;;;;;;;-1:-1:-1;;;4456:49:21;;;;;;;;;;;;;", - "source": "/**\n *Submitted for verification at Etherscan.io on 2020-05-05\n */\n\n// File: contracts/interfaces/IUniswapV2Pair.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Pair {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n function MINIMUM_LIQUIDITY() external pure returns (uint256);\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function price0CumulativeLast() external view returns (uint256);\n\n function price1CumulativeLast() external view returns (uint256);\n\n function kLast() external view returns (uint256);\n\n function mint(address to) external returns (uint256 liquidity);\n\n function burn(address to) external returns (uint256 amount0, uint256 amount1);\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function skim(address to) external;\n\n function sync() external;\n\n function initialize(address, address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2ERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2ERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external pure returns (string memory);\n\n function symbol() external pure returns (string memory);\n\n function decimals() external pure returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n function nonces(address owner) external view returns (uint256);\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n\n// File: contracts/libraries/SafeMath.sol\n\npragma solidity 0.6.9;\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary SafeMath {\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x + y) >= x, \"ds-math-add-overflow\");\n }\n\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require((z = x - y) <= x, \"ds-math-sub-underflow\");\n }\n\n function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {\n require(y == 0 || (z = x * y) / y == x, \"ds-math-mul-overflow\");\n }\n}\n\n// File: contracts/UniswapV2ERC20.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2ERC20 {\n using SafeMath for uint256;\n\n string public constant name = \"Uniswap V2\";\n string public constant symbol = \"UNI-V2\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n bytes32 public DOMAIN_SEPARATOR;\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n mapping(address => uint256) public nonces;\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function _mint(address to, uint256 value) internal {\n totalSupply = totalSupply.add(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(address(0), to, value);\n }\n\n function _burn(address from, uint256 value) internal {\n balanceOf[from] = balanceOf[from].sub(value);\n totalSupply = totalSupply.sub(value);\n emit Transfer(from, address(0), value);\n }\n\n function _approve(\n address owner,\n address spender,\n uint256 value\n ) private {\n allowance[owner][spender] = value;\n emit Approval(owner, spender, value);\n }\n\n function _transfer(\n address from,\n address to,\n uint256 value\n ) private {\n balanceOf[from] = balanceOf[from].sub(value);\n balanceOf[to] = balanceOf[to].add(value);\n emit Transfer(from, to, value);\n }\n\n function approve(address spender, uint256 value) external returns (bool) {\n _approve(msg.sender, spender, value);\n return true;\n }\n\n function transfer(address to, uint256 value) external returns (bool) {\n _transfer(msg.sender, to, value);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool) {\n if (allowance[from][msg.sender] != uint256(-1)) {\n allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);\n }\n _transfer(from, to, value);\n return true;\n }\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n require(deadline >= block.timestamp, \"UniswapV2: EXPIRED\");\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(\n abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)\n )\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(\n recoveredAddress != address(0) && recoveredAddress == owner,\n \"UniswapV2: INVALID_SIGNATURE\"\n );\n _approve(owner, spender, value);\n }\n}\n\n// File: contracts/libraries/Math.sol\n\npragma solidity 0.6.9;\n\n// a library for performing various math operations\n\nlibrary Math {\n function min(uint256 x, uint256 y) internal pure returns (uint256 z) {\n z = x < y ? x : y;\n }\n\n // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)\n function sqrt(uint256 y) internal pure returns (uint256 z) {\n if (y > 3) {\n z = y;\n uint256 x = y / 2 + 1;\n while (x < z) {\n z = x;\n x = (y / x + x) / 2;\n }\n } else if (y != 0) {\n z = 1;\n }\n }\n}\n\n// File: contracts/libraries/UQ112x112.sol\n\npragma solidity 0.6.9;\n\n// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))\n\n// range: [0, 2**112 - 1]\n// resolution: 1 / 2**112\n\nlibrary UQ112x112 {\n uint224 constant Q112 = 2**112;\n\n // encode a uint112 as a UQ112x112\n function encode(uint112 y) internal pure returns (uint224 z) {\n z = uint224(y) * Q112; // never overflows\n }\n\n // divide a UQ112x112 by a uint112, returning a UQ112x112\n function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {\n z = x / uint224(y);\n }\n}\n\n// File: contracts/interfaces/IERC20.sol\n\npragma solidity >=0.5.0;\n\ninterface IERC20 {\n event Approval(address indexed owner, address indexed spender, uint256 value);\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function totalSupply() external view returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n\n function allowance(address owner, address spender) external view returns (uint256);\n\n function approve(address spender, uint256 value) external returns (bool);\n\n function transfer(address to, uint256 value) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n}\n\n// File: contracts/interfaces/IUniswapV2Factory.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Factory {\n event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\n\n function feeTo() external view returns (address);\n\n function feeToSetter() external view returns (address);\n\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n function allPairs(uint256) external view returns (address pair);\n\n function allPairsLength() external view returns (uint256);\n\n function createPair(address tokenA, address tokenB) external returns (address pair);\n\n function setFeeTo(address) external;\n\n function setFeeToSetter(address) external;\n}\n\n// File: contracts/interfaces/IUniswapV2Callee.sol\n\npragma solidity >=0.5.0;\n\ninterface IUniswapV2Callee {\n function uniswapV2Call(\n address sender,\n uint256 amount0,\n uint256 amount1,\n bytes calldata data\n ) external;\n}\n\n// File: contracts/UniswapV2Pair.sol\n\npragma solidity 0.6.9;\n\ncontract UniswapV2Pair is UniswapV2ERC20 {\n using SafeMath for uint256;\n using UQ112x112 for uint224;\n\n uint256 public constant MINIMUM_LIQUIDITY = 10**3;\n bytes4 private constant SELECTOR = bytes4(keccak256(bytes(\"transfer(address,uint256)\")));\n\n address public factory;\n address public token0;\n address public token1;\n\n uint112 private reserve0; // uses single storage slot, accessible via getReserves\n uint112 private reserve1; // uses single storage slot, accessible via getReserves\n uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event\n\n uint256 private unlocked = 1;\n modifier lock() {\n require(unlocked == 1, \"UniswapV2: LOCKED\");\n unlocked = 0;\n _;\n unlocked = 1;\n }\n\n function getReserves()\n public\n view\n returns (\n uint112 _reserve0,\n uint112 _reserve1,\n uint32 _blockTimestampLast\n )\n {\n _reserve0 = reserve0;\n _reserve1 = reserve1;\n _blockTimestampLast = blockTimestampLast;\n }\n\n function _safeTransfer(\n address token,\n address to,\n uint256 value\n ) private {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n \"UniswapV2: TRANSFER_FAILED\"\n );\n }\n\n event Mint(address indexed sender, uint256 amount0, uint256 amount1);\n event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n event Sync(uint112 reserve0, uint112 reserve1);\n\n constructor() public {\n factory = msg.sender;\n }\n\n // called once by the factory at time of deployment\n function initialize(address _token0, address _token1) external {\n require(msg.sender == factory, \"UniswapV2: FORBIDDEN\"); // sufficient check\n token0 = _token0;\n token1 = _token1;\n }\n\n // update reserves and, on the first call per block, price accumulators\n function _update(\n uint256 balance0,\n uint256 balance1,\n uint112 _reserve0,\n uint112 _reserve1\n ) private {\n require(balance0 <= uint112(-1) && balance1 <= uint112(-1), \"UniswapV2: OVERFLOW\");\n uint32 blockTimestamp = uint32(block.timestamp % 2**32);\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {\n // * never overflows, and + overflow is desired\n price0CumulativeLast +=\n uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) *\n timeElapsed;\n price1CumulativeLast +=\n uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) *\n timeElapsed;\n }\n reserve0 = uint112(balance0);\n reserve1 = uint112(balance1);\n blockTimestampLast = blockTimestamp;\n emit Sync(reserve0, reserve1);\n }\n\n // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)\n function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {\n address feeTo = IUniswapV2Factory(factory).feeTo();\n feeOn = feeTo != address(0);\n uint256 _kLast = kLast; // gas savings\n if (feeOn) {\n if (_kLast != 0) {\n uint256 rootK = Math.sqrt(uint256(_reserve0).mul(_reserve1));\n uint256 rootKLast = Math.sqrt(_kLast);\n if (rootK > rootKLast) {\n uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));\n uint256 denominator = rootK.mul(5).add(rootKLast);\n uint256 liquidity = numerator / denominator;\n if (liquidity > 0) _mint(feeTo, liquidity);\n }\n }\n } else if (_kLast != 0) {\n kLast = 0;\n }\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function mint(address to) external lock returns (uint256 liquidity) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n uint256 balance0 = IERC20(token0).balanceOf(address(this));\n uint256 balance1 = IERC20(token1).balanceOf(address(this));\n uint256 amount0 = balance0.sub(_reserve0);\n uint256 amount1 = balance1.sub(_reserve1);\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n if (_totalSupply == 0) {\n liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);\n _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens\n } else {\n liquidity = Math.min(\n amount0.mul(_totalSupply) / _reserve0,\n amount1.mul(_totalSupply) / _reserve1\n );\n }\n require(liquidity > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\");\n _mint(to, liquidity);\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Mint(msg.sender, amount0, amount1);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n uint256 balance0 = IERC20(_token0).balanceOf(address(this));\n uint256 balance1 = IERC20(_token1).balanceOf(address(this));\n uint256 liquidity = balanceOf[address(this)];\n\n bool feeOn = _mintFee(_reserve0, _reserve1);\n uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee\n amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution\n amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution\n require(amount0 > 0 && amount1 > 0, \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\");\n _burn(address(this), liquidity);\n _safeTransfer(_token0, to, amount0);\n _safeTransfer(_token1, to, amount1);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n\n _update(balance0, balance1, _reserve0, _reserve1);\n if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date\n emit Burn(msg.sender, amount0, amount1, to);\n }\n\n // this low-level function should be called from a contract which performs important safety checks\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external lock {\n require(amount0Out > 0 || amount1Out > 0, \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\");\n (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings\n require(\n amount0Out < _reserve0 && amount1Out < _reserve1,\n \"UniswapV2: INSUFFICIENT_LIQUIDITY\"\n );\n\n uint256 balance0;\n uint256 balance1;\n {\n // scope for _token{0,1}, avoids stack too deep errors\n address _token0 = token0;\n address _token1 = token1;\n require(to != _token0 && to != _token1, \"UniswapV2: INVALID_TO\");\n if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens\n if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens\n if (data.length > 0)\n IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);\n balance0 = IERC20(_token0).balanceOf(address(this));\n balance1 = IERC20(_token1).balanceOf(address(this));\n }\n uint256 amount0In = balance0 > _reserve0 - amount0Out\n ? balance0 - (_reserve0 - amount0Out)\n : 0;\n uint256 amount1In = balance1 > _reserve1 - amount1Out\n ? balance1 - (_reserve1 - amount1Out)\n : 0;\n require(amount0In > 0 || amount1In > 0, \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\");\n {\n // scope for reserve{0,1}Adjusted, avoids stack too deep errors\n uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));\n uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));\n require(\n balance0Adjusted.mul(balance1Adjusted) >=\n uint256(_reserve0).mul(_reserve1).mul(1000**2),\n \"UniswapV2: K\"\n );\n }\n\n _update(balance0, balance1, _reserve0, _reserve1);\n emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);\n }\n\n // force balances to match reserves\n function skim(address to) external lock {\n address _token0 = token0; // gas savings\n address _token1 = token1; // gas savings\n _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));\n _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));\n }\n\n // force reserves to match balances\n function sync() external lock {\n _update(\n IERC20(token0).balanceOf(address(this)),\n IERC20(token1).balanceOf(address(this)),\n reserve0,\n reserve1\n );\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/UniswapV2.sol", - "exportedSymbols": { - "IERC20": [ - 5543 - ], - "IUniswapV2Callee": [ - 5618 - ], - "IUniswapV2ERC20": [ - 4917 - ], - "IUniswapV2Factory": [ - 5605 - ], - "IUniswapV2Pair": [ - 4800 - ], - "Math": [ - 5417 - ], - "SafeMath": [ - 4991 - ], - "UQ112x112": [ - 5460 - ], - "UniswapV2ERC20": [ - 5342 - ], - "UniswapV2Pair": [ - 6679 - ] - }, - "id": 6680, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4560, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4800, - "linearizedBaseContracts": [ - 4800 - ], - "name": "IUniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4568, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "190:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4564, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "213:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "213:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4568, - "src": "238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "189:63:21" - }, - "src": "175:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4576, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4570, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "273:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4572, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "295:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4574, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4576, - "src": "315:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "315:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:57:21" - }, - "src": "258:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4581, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:21" - }, - "returnParameters": { - "id": 4580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4581, - "src": "375:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "375:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "374:15:21" - }, - "scope": 4800, - "src": "336:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4586, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4582, - "nodeType": "ParameterList", - "parameters": [], - "src": "411:2:21" - }, - "returnParameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4586, - "src": "437:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4583, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "437:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "436:15:21" - }, - "scope": 4800, - "src": "396:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4587, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:21" - }, - "returnParameters": { - "id": 4590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4589, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4591, - "src": "501:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4588, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "501:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "500:7:21" - }, - "scope": 4800, - "src": "458:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4596, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4592, - "nodeType": "ParameterList", - "parameters": [], - "src": "534:2:21" - }, - "returnParameters": { - "id": 4595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4596, - "src": "560:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "559:9:21" - }, - "scope": 4800, - "src": "514:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4603, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "594:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "594:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "593:15:21" - }, - "returnParameters": { - "id": 4602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4603, - "src": "632:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:9:21" - }, - "scope": 4800, - "src": "575:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "666:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "681:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "681:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:32:21" - }, - "returnParameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4612, - "src": "721:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "721:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "720:9:21" - }, - "scope": 4800, - "src": "647:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "753:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "770:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "752:32:21" - }, - "returnParameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4621, - "src": "803:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "802:6:21" - }, - "scope": 4800, - "src": "736:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4623, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "833:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4625, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "845:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:27:21" - }, - "returnParameters": { - "id": 4629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4630, - "src": "878:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "878:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "877:6:21" - }, - "scope": 4800, - "src": "815:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "921:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "921:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "943:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "943:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "963:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:71:21" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4641, - "src": "1001:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4638, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1001:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1000:6:21" - }, - "scope": 4800, - "src": "890:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4642, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:2:21" - }, - "returnParameters": { - "id": 4645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4646, - "src": "1064:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1063:9:21" - }, - "scope": 4800, - "src": "1013:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4647, - "nodeType": "ParameterList", - "parameters": [], - "src": "1103:2:21" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4649, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4651, - "src": "1129:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4648, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1129:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1128:9:21" - }, - "scope": 4800, - "src": "1079:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1160:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1160:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:15:21" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4656, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4658, - "src": "1198:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1197:9:21" - }, - "scope": 4800, - "src": "1144:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4675, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1238:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1238:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4662, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1261:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1261:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4664, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1286:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1286:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1309:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4668, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1335:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4667, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1335:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1352:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4669, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4675, - "src": "1371:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4671, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1228:158:21" - }, - "returnParameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [], - "src": "1395:0:21" - }, - "scope": 4800, - "src": "1213:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 4683, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 4682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4677, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1413:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4679, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1437:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1437:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "1454:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:58:21" - }, - "src": "1402:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4693, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4685, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1487:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4687, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1511:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4689, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1528:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1528:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4691, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4693, - "src": "1545:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1486:78:21" - }, - "src": "1476:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4707, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1590:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1590:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4697, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1622:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1622:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1649:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1649:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4701, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1676:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4703, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1704:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1704:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4705, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4707, - "src": "1732:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1580:176:21" - }, - "src": "1570:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4713, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1773:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4708, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1773:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4713, - "src": "1791:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4710, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "1791:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1772:36:21" - }, - "src": "1762:47:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "ba9a7a56", - "id": 4718, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "MINIMUM_LIQUIDITY", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:2:21" - }, - "returnParameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4718, - "src": "1867:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1866:9:21" - }, - "scope": 4800, - "src": "1815:61:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c45a0155", - "id": 4723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "factory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4719, - "nodeType": "ParameterList", - "parameters": [], - "src": "1898:2:21" - }, - "returnParameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4723, - "src": "1924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1923:9:21" - }, - "scope": 4800, - "src": "1882:51:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0dfe1681", - "id": 4728, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token0", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [], - "src": "1954:2:21" - }, - "returnParameters": { - "id": 4727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4728, - "src": "1980:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1980:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1979:9:21" - }, - "scope": 4800, - "src": "1939:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d21220a7", - "id": 4733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "token1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [], - "src": "2010:2:21" - }, - "returnParameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4731, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "2036:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2036:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2035:9:21" - }, - "scope": 4800, - "src": "1995:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 4742, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "2071:2:21" - }, - "returnParameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4736, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2134:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4735, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2134:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4738, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2164:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 4737, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "2164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4742, - "src": "2194:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 4739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2194:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2120:109:21" - }, - "scope": 4800, - "src": "2051:179:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5909c0d5", - "id": 4747, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price0CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "2265:2:21" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4747, - "src": "2291:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2290:9:21" - }, - "scope": 4800, - "src": "2236:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "5a3d5493", - "id": 4752, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "price1CumulativeLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4748, - "nodeType": "ParameterList", - "parameters": [], - "src": "2335:2:21" - }, - "returnParameters": { - "id": 4751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4752, - "src": "2361:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2360:9:21" - }, - "scope": 4800, - "src": "2306:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7464fc3d", - "id": 4757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "kLast", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "2390:2:21" - }, - "returnParameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4757, - "src": "2416:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:9:21" - }, - "scope": 4800, - "src": "2376:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "6a627842", - "id": 4764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2445:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2445:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2444:12:21" - }, - "returnParameters": { - "id": 4763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4762, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4764, - "src": "2475:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2475:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2474:19:21" - }, - "scope": 4800, - "src": "2431:63:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "89afcb44", - "id": 4773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2514:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2514:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2513:12:21" - }, - "returnParameters": { - "id": 4772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2544:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2544:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4773, - "src": "2561:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2561:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2543:34:21" - }, - "scope": 4800, - "src": "2500:78:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2607:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2635:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4779, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2663:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2663:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4781, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4784, - "src": "2683:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2683:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2597:111:21" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:21" - }, - "scope": 4800, - "src": "2584:134:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 4789, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4786, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4789, - "src": "2738:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2738:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:12:21" - }, - "returnParameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "2758:0:21" - }, - "scope": 4800, - "src": "2724:35:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4790, - "nodeType": "ParameterList", - "parameters": [], - "src": "2778:2:21" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [], - "src": "2789:0:21" - }, - "scope": 4800, - "src": "2765:25:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "485cc955", - "id": 4799, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2816:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2816:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4799, - "src": "2825:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2825:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2815:18:21" - }, - "returnParameters": { - "id": 4798, - "nodeType": "ParameterList", - "parameters": [], - "src": "2842:0:21" - }, - "scope": 4800, - "src": "2796:47:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "144:2701:21" - }, - { - "id": 4801, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "2898:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 4917, - "linearizedBaseContracts": [ - 4917 - ], - "name": "IUniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4809, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 4808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2971:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2971:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "2994:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4807, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4809, - "src": "3019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2970:63:21" - }, - "src": "2956:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 4817, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4811, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3054:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3054:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3076:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3076:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4815, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4817, - "src": "3096:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3053:57:21" - }, - "src": "3039:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 4822, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4818, - "nodeType": "ParameterList", - "parameters": [], - "src": "3130:2:21" - }, - "returnParameters": { - "id": 4821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4820, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4822, - "src": "3156:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3156:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3155:15:21" - }, - "scope": 4917, - "src": "3117:54:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 4827, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3192:2:21" - }, - "returnParameters": { - "id": 4826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4827, - "src": "3218:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4824, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3218:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3217:15:21" - }, - "scope": 4917, - "src": "3177:56:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4828, - "nodeType": "ParameterList", - "parameters": [], - "src": "3256:2:21" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4832, - "src": "3282:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4829, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3282:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3281:7:21" - }, - "scope": 4917, - "src": "3239:50:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 4837, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3315:2:21" - }, - "returnParameters": { - "id": 4836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4837, - "src": "3341:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3341:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3340:9:21" - }, - "scope": 4917, - "src": "3295:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 4844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3375:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3375:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3374:15:21" - }, - "returnParameters": { - "id": 4843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4844, - "src": "3413:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3412:9:21" - }, - "scope": 4917, - "src": "3356:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 4853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3447:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3462:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3462:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:32:21" - }, - "returnParameters": { - "id": 4852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4851, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4853, - "src": "3502:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3501:9:21" - }, - "scope": 4917, - "src": "3428:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 4862, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3534:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3534:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3551:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3533:32:21" - }, - "returnParameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4862, - "src": "3584:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4859, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3584:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3583:6:21" - }, - "scope": 4917, - "src": "3517:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4864, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3614:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3626:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3626:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3613:27:21" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4871, - "src": "3659:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4868, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3658:6:21" - }, - "scope": 4917, - "src": "3596:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3702:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3702:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3724:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3724:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3744:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3692:71:21" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4882, - "src": "3782:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3782:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3781:6:21" - }, - "scope": 4917, - "src": "3671:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "3644e515", - "id": 4887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4883, - "nodeType": "ParameterList", - "parameters": [], - "src": "3819:2:21" - }, - "returnParameters": { - "id": 4886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4885, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4887, - "src": "3845:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4884, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3845:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:9:21" - }, - "scope": 4917, - "src": "3794:60:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "30adf81f", - "id": 4892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "PERMIT_TYPEHASH", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4888, - "nodeType": "ParameterList", - "parameters": [], - "src": "3884:2:21" - }, - "returnParameters": { - "id": 4891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4890, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4892, - "src": "3910:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3910:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:9:21" - }, - "scope": 4917, - "src": "3860:59:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "7ecebe00", - "id": 4899, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3941:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3941:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3940:15:21" - }, - "returnParameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "3979:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3979:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:9:21" - }, - "scope": 4917, - "src": "3925:63:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "d505accf", - "id": 4916, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4019:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4019:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4042:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4042:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4067:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4907, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4090:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4909, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4116:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4908, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4116:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4911, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4133:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4910, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4133:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4913, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "4152:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4912, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4152:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4009:158:21" - }, - "returnParameters": { - "id": 4915, - "nodeType": "ParameterList", - "parameters": [], - "src": "4176:0:21" - }, - "scope": 4917, - "src": "3994:183:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "2924:1255:21" - }, - { - "id": 4918, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4224:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 4991, - "linearizedBaseContracts": [ - 4991 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4939, - "nodeType": "Block", - "src": "4446:66:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4928, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4925, - "src": "4465:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4929, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4469:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4930, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4473:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4465:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4933, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4464:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4934, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4479:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4464:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4482:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - }, - "value": "ds-math-add-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "id": 4927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4456:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4938, - "nodeType": "ExpressionStatement", - "src": "4456:49:21" - } - ] - }, - "documentation": null, - "id": 4940, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4920, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4390:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4401:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4389:22:21" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4940, - "src": "4435:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4435:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:11:21" - }, - "scope": 4991, - "src": "4377:135:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4961, - "nodeType": "Block", - "src": "4587:67:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4950, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "4606:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4951, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4610:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4952, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4944, - "src": "4614:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4610:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4605:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4956, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4942, - "src": "4620:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4623:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], - "id": 4949, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4597:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:50:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4960, - "nodeType": "ExpressionStatement", - "src": "4597:50:21" - } - ] - }, - "documentation": null, - "id": 4962, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4942, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4531:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4531:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4944, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4542:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4530:22:21" - }, - "returnParameters": { - "id": 4948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4947, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4962, - "src": "4576:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4575:11:21" - }, - "scope": 4991, - "src": "4518:136:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4989, - "nodeType": "Block", - "src": "4729:80:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4972, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4747:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4747:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4975, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4969, - "src": "4758:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4976, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4762:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 4977, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4766:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4762:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4758:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4980, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4757:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 4981, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4771:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4983, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4776:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4757:20:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4747:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": 4986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4779:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4739:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4739:63:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4988, - "nodeType": "ExpressionStatement", - "src": "4739:63:21" - } - ] - }, - "documentation": null, - "id": 4990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4964, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4673:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4684:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4684:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4672:22:21" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4990, - "src": "4718:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4717:11:21" - }, - "scope": 4991, - "src": "4660:149:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "4354:457:21" - }, - { - "id": 4992, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "4852:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5342, - "linearizedBaseContracts": [ - 5342 - ], - "name": "UniswapV2ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4995, - "libraryName": { - "contractScope": null, - "id": 4993, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "4912:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "4906:27:21", - "typeName": { - "id": 4994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4925:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "06fdde03", - "id": 4998, - "mutability": "constant", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4939:42:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4939:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "556e6973776170205632", - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4969:12:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738", - "typeString": "literal_string \"Uniswap V2\"" - }, - "value": "Uniswap V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "95d89b41", - "id": 5001, - "mutability": "constant", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "4987:40:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4999, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4987:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "554e492d5632", - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5019:8:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c49a525f6758cfb27d0ada1467d2a2e99733995423d47ae30ae4ba2ba563255", - "typeString": "literal_string \"UNI-V2\"" - }, - "value": "UNI-V2" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 5004, - "mutability": "constant", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5033:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5002, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5033:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5066:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "18160ddd", - "id": 5006, - "mutability": "mutable", - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5074:26:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5074:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 5010, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5106:44:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5009, - "keyType": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5114:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5106:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 5016, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5156:64:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 5015, - "keyType": { - "id": 5011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5156:47:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 5014, - "keyType": { - "id": 5012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5175:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3644e515", - "id": 5018, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5227:31:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5017, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5227:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 5021, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5368:108:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5368:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5410:66:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7ecebe00", - "id": 5025, - "mutability": "mutable", - "name": "nonces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5342, - "src": "5482:41:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5024, - "keyType": { - "id": 5022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5490:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5482:27:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5501:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5033, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5027, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5545:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5545:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5029, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5568:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5568:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5031, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5033, - "src": "5593:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5593:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5544:63:21" - }, - "src": "5530:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5628:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5037, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5650:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5650:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5039, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5041, - "src": "5670:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5670:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5627:57:21" - }, - "src": "5613:72:21" - }, - { - "body": { - "id": 5075, - "nodeType": "Block", - "src": "5742:149:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5048, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5752:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5051, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5782:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5049, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "5766:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5766:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5766:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5752:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "nodeType": "ExpressionStatement", - "src": "5752:36:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5055, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5798:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5057, - "indexExpression": { - "argumentTypes": null, - "id": 5056, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5808:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5798:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5062, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5832:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5058, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5814:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5060, - "indexExpression": { - "argumentTypes": null, - "id": 5059, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5824:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5814:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "5814:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5814:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5798:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5065, - "nodeType": "ExpressionStatement", - "src": "5798:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5862:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5862:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5071, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "5874:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5045, - "src": "5878:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5066, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "5853:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5853:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "EmitStatement", - "src": "5848:36:21" - } - ] - }, - "documentation": null, - "id": 5076, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5043, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5706:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5706:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5045, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5076, - "src": "5718:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5718:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5705:27:21" - }, - "returnParameters": { - "id": 5047, - "nodeType": "ParameterList", - "parameters": [], - "src": "5742:0:21" - }, - "scope": 5342, - "src": "5691:200:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5110, - "nodeType": "Block", - "src": "5950:155:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5083, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5960:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5085, - "indexExpression": { - "argumentTypes": null, - "id": 5084, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5970:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5960:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "5998:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5086, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "5978:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5088, - "indexExpression": { - "argumentTypes": null, - "id": 5087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "5988:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5978:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "5978:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5978:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5960:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5093, - "nodeType": "ExpressionStatement", - "src": "5960:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5094, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6014:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6044:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5095, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "6028:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6028:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6028:22:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6014:36:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5100, - "nodeType": "ExpressionStatement", - "src": "6014:36:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5102, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "6074:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6080:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5107, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "src": "6092:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5101, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6065:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6065:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5109, - "nodeType": "EmitStatement", - "src": "6060:38:21" - } - ] - }, - "documentation": null, - "id": 5111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5078, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5912:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5912:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5080, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5111, - "src": "5926:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5926:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5911:29:21" - }, - "returnParameters": { - "id": 5082, - "nodeType": "ParameterList", - "parameters": [], - "src": "5950:0:21" - }, - "scope": 5342, - "src": "5897:208:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5134, - "nodeType": "Block", - "src": "6214:96:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "6224:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6234:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6224:16:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5124, - "indexExpression": { - "argumentTypes": null, - "id": 5122, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6224:25:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5125, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6252:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6224:33:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5127, - "nodeType": "ExpressionStatement", - "src": "6224:33:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5129, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5113, - "src": "6281:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5115, - "src": "6288:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5131, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5117, - "src": "6297:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5128, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "6272:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6272:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5133, - "nodeType": "EmitStatement", - "src": "6267:36:21" - } - ] - }, - "documentation": null, - "id": 5135, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5113, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6138:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6138:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6161:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6161:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5135, - "src": "6186:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6186:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6128:77:21" - }, - "returnParameters": { - "id": 5119, - "nodeType": "ParameterList", - "parameters": [], - "src": "6214:0:21" - }, - "scope": 5342, - "src": "6111:199:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5172, - "nodeType": "Block", - "src": "6414:151:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5144, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6424:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5146, - "indexExpression": { - "argumentTypes": null, - "id": 5145, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6434:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6424:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6462:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6442:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5149, - "indexExpression": { - "argumentTypes": null, - "id": 5148, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6442:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "6442:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6442:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6424:44:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "6424:44:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5155, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6478:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6488:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6478:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5162, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6512:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "6494:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6504:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6494:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "6494:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6494:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6478:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "6478:40:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5167, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "6542:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5168, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "6548:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "6552:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5166, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "6533:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6533:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5171, - "nodeType": "EmitStatement", - "src": "6528:30:21" - } - ] - }, - "documentation": null, - "id": 5173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5137, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6344:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6344:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6366:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6366:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5173, - "src": "6386:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6386:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:71:21" - }, - "returnParameters": { - "id": 5143, - "nodeType": "ParameterList", - "parameters": [], - "src": "6414:0:21" - }, - "scope": 5342, - "src": "6316:249:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "6644:74:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5183, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6663:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6663:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5185, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5175, - "src": "6675:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "6684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5182, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "6654:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6654:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5188, - "nodeType": "ExpressionStatement", - "src": "6654:36:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5181, - "id": 5190, - "nodeType": "Return", - "src": "6700:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5175, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6588:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5177, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6605:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6605:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6587:32:21" - }, - "returnParameters": { - "id": 5181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5180, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "6638:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5179, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6638:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6637:6:21" - }, - "scope": 5342, - "src": "6571:147:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "6793:70:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6813:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6813:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "6825:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5196, - "src": "6829:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5201, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "6803:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:32:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "6803:32:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5200, - "id": 5209, - "nodeType": "Return", - "src": "6845:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6742:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6742:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5196, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6754:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6741:27:21" - }, - "returnParameters": { - "id": 5200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5211, - "src": "6787:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5198, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6787:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6786:6:21" - }, - "scope": 5342, - "src": "6724:139:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5261, - "nodeType": "Block", - "src": "6986:214:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5222, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7000:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5224, - "indexExpression": { - "argumentTypes": null, - "id": 5223, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5227, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7016:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7016:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7000:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "7039:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7031:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7031:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7000:42:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5252, - "nodeType": "IfStatement", - "src": "6996:141:21", - "trueBody": { - "id": 5251, - "nodeType": "Block", - "src": "7044:93:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5234, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7058:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5238, - "indexExpression": { - "argumentTypes": null, - "id": 5235, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7068:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7058:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5239, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7074:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7058:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7120:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5240, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "7088:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 5242, - "indexExpression": { - "argumentTypes": null, - "id": 5241, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7098:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:15:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5243, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7088:27:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "7088:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7088:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7058:68:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "nodeType": "ExpressionStatement", - "src": "7058:68:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "7156:4:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "7162:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "7166:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5173, - "src": "7146:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5258, - "nodeType": "ExpressionStatement", - "src": "7146:26:21" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7189:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5221, - "id": 5260, - "nodeType": "Return", - "src": "7182:11:21" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6900:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6900:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6922:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6922:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6942:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6942:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6890:71:21" - }, - "returnParameters": { - "id": 5221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5220, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5262, - "src": "6980:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6980:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6979:6:21" - }, - "scope": 5342, - "src": "6869:331:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5340, - "nodeType": "Block", - "src": "7389:619:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5280, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7407:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7419:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7419:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7407:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a2045585049524544", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7436:20:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - }, - "value": "UniswapV2: EXPIRED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47797eaaf6df6dc2efdb1e824209400a8293aff4c1e7f6d90fcc4b3e3ba18a87", - "typeString": "literal_string \"UniswapV2: EXPIRED\"" - } - ], - "id": 5279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7399:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7399:58:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "7399:58:21" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7467:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7467:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5310, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "1901", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7541:10:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - "value": "\u0019\u0001" - }, - { - "argumentTypes": null, - "id": 5293, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5018, - "src": "7569:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5297, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "7645:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7662:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7669:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7678:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7685:15:21", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5301, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "7685:6:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5303, - "indexExpression": { - "argumentTypes": null, - "id": 5302, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7692:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7685:13:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5270, - "src": "7702:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7634:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7634:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7634:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7603:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7603:126:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string \"\u0019\u0001\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 5290, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7507:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7507:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7507:236:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5289, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7484:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7484:269:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7467:286:21" - }, - { - "assignments": [ - 5312 - ], - "declarations": [ - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5340, - "src": "7763:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7763:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5319, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5314, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7800:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5315, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5272, - "src": "7808:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5316, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5274, - "src": "7811:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5317, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5276, - "src": "7814:1:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5313, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "7790:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7790:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7763:53:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5321, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7847:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7875:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7847:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5327, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "7881:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7901:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7881:25:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7847:59:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f5349474e4154555245", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7920:30:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - }, - "value": "UniswapV2: INVALID_SIGNATURE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2d893fc9f5fa2494c39ecec82df2778b33226458ccce3b9a56f5372437d54a56", - "typeString": "literal_string \"UniswapV2: INVALID_SIGNATURE\"" - } - ], - "id": 5320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7826:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7826:134:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "7826:134:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5335, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5264, - "src": "7979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5336, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7986:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "7995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5334, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5135, - "src": "7970:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7970:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "7970:31:21" - } - ] - }, - "documentation": null, - "functionSelector": "d505accf", - "id": 5341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5264, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7231:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7231:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7254:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7254:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7279:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7279:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7302:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7302:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7328:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5271, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "7328:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7345:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7345:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5341, - "src": "7364:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7221:158:21" - }, - "returnParameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [], - "src": "7389:0:21" - }, - "scope": 5342, - "src": "7206:802:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "4876:3134:21" - }, - { - "id": 5343, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8051:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5417, - "linearizedBaseContracts": [ - 5417 - ], - "name": "Math", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5361, - "nodeType": "Block", - "src": "8216:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5352, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "8226:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5353, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8230:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5354, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8234:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8230:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 5357, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5347, - "src": "8242:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8230:13:21", - "trueExpression": { - "argumentTypes": null, - "id": 5356, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5345, - "src": "8238:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "8226:17:21" - } - ] - }, - "documentation": null, - "id": 5362, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5345, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8160:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8160:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5347, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8171:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8159:22:21" - }, - "returnParameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5362, - "src": "8205:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8205:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8204:11:21" - }, - "scope": 5417, - "src": "8147:103:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5415, - "nodeType": "Block", - "src": "8424:242:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5369, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8438:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "8438:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5405, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8622:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8627:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5413, - "nodeType": "IfStatement", - "src": "8618:42:21", - "trueBody": { - "id": 5412, - "nodeType": "Block", - "src": "8630:30:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5408, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8644:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8648:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8644:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5411, - "nodeType": "ExpressionStatement", - "src": "8644:5:21" - } - ] - } - }, - "id": 5414, - "nodeType": "IfStatement", - "src": "8434:226:21", - "trueBody": { - "id": 5404, - "nodeType": "Block", - "src": "8445:167:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5372, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8459:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5373, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8463:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8459:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5375, - "nodeType": "ExpressionStatement", - "src": "8459:5:21" - }, - { - "assignments": [ - 5377 - ], - "declarations": [ - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5404, - "src": "8478:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5383, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5378, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8490:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8494:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8490:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8490:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8478:21:21" - }, - { - "body": { - "id": 5402, - "nodeType": "Block", - "src": "8527:75:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5387, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8545:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5388, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8549:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "nodeType": "ExpressionStatement", - "src": "8545:5:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5391, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8568:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5392, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5364, - "src": "8573:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 5393, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8577:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5395, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8581:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8573:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8572:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8586:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "8572:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8568:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5401, - "nodeType": "ExpressionStatement", - "src": "8568:19:21" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5384, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "8520:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5385, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8524:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8520:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5403, - "nodeType": "WhileStatement", - "src": "8513:89:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 5416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5364, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8379:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8379:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8378:11:21" - }, - "returnParameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5367, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5416, - "src": "8413:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8413:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8412:11:21" - }, - "scope": 5417, - "src": "8365:301:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8128:540:21" - }, - { - "id": 5418, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "8714:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 5460, - "linearizedBaseContracts": [ - 5460 - ], - "name": "UQ112x112", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5423, - "mutability": "constant", - "name": "Q112", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5460, - "src": "8919:30:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5419, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "8919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8943:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313132", - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8946:3:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_112_by_1", - "typeString": "int_const 112" - }, - "value": "112" - }, - "src": "8943:6:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1", - "typeString": "int_const 5192...(26 digits omitted)...0096" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "9056:57:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5430, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5428, - "src": "9066:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5433, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5425, - "src": "9078:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5431, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9070:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9070:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5435, - "name": "Q112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "9083:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9070:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9066:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5438, - "nodeType": "ExpressionStatement", - "src": "9066:21:21" - } - ] - }, - "documentation": null, - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9011:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5424, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9010:11:21" - }, - "returnParameters": { - "id": 5429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5428, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5440, - "src": "9045:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5427, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9045:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9044:11:21" - }, - "scope": 5460, - "src": "8995:118:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5458, - "nodeType": "Block", - "src": "9252:35:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5449, - "name": "z", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "9262:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5450, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5442, - "src": "9266:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5453, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5444, - "src": "9278:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5451, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9270:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9270:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9266:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9262:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "9262:18:21" - } - ] - }, - "documentation": null, - "id": 5459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uqdiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5442, - "mutability": "mutable", - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9196:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5441, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9196:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9207:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5443, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "9207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9195:22:21" - }, - "returnParameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5447, - "mutability": "mutable", - "name": "z", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5459, - "src": "9241:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5446, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "9241:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9240:11:21" - }, - "scope": 5460, - "src": "9181:106:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6680, - "src": "8895:394:21" - }, - { - "id": 5461, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "9333:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5543, - "linearizedBaseContracts": [ - 5543 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5469, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 5468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5463, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9397:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9420:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5464, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9420:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5469, - "src": "9445:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9396:63:21" - }, - "src": "9382:78:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5477, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 5476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5471, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9480:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9480:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9502:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9502:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5475, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5477, - "src": "9522:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9522:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9479:57:21" - }, - "src": "9465:72:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "06fdde03", - "id": 5482, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5478, - "nodeType": "ParameterList", - "parameters": [], - "src": "9556:2:21" - }, - "returnParameters": { - "id": 5481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5480, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "9582:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9582:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9581:15:21" - }, - "scope": 5543, - "src": "9543:54:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "95d89b41", - "id": 5487, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5483, - "nodeType": "ParameterList", - "parameters": [], - "src": "9618:2:21" - }, - "returnParameters": { - "id": 5486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5485, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5487, - "src": "9644:13:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5484, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9644:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9643:15:21" - }, - "scope": 5543, - "src": "9603:56:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "313ce567", - "id": 5492, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5488, - "nodeType": "ParameterList", - "parameters": [], - "src": "9682:2:21" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5490, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5492, - "src": "9708:5:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5489, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9708:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9707:7:21" - }, - "scope": 5543, - "src": "9665:50:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "18160ddd", - "id": 5497, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5493, - "nodeType": "ParameterList", - "parameters": [], - "src": "9741:2:21" - }, - "returnParameters": { - "id": 5496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5495, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5497, - "src": "9767:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9766:9:21" - }, - "scope": 5543, - "src": "9721:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "70a08231", - "id": 5504, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5499, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9801:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9801:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9800:15:21" - }, - "returnParameters": { - "id": 5503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5504, - "src": "9839:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9839:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9838:9:21" - }, - "scope": 5543, - "src": "9782:66:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "dd62ed3e", - "id": 5513, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5506, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9873:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9873:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5508, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9888:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9888:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9872:32:21" - }, - "returnParameters": { - "id": 5512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "9928:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9928:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9927:9:21" - }, - "scope": 5543, - "src": "9854:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 5522, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9960:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9960:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "9977:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9959:32:21" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5522, - "src": "10010:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10010:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10009:6:21" - }, - "scope": 5543, - "src": "9943:73:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 5531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10040:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10040:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10052:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10052:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10039:27:21" - }, - "returnParameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5531, - "src": "10085:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10085:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10084:6:21" - }, - "scope": 5543, - "src": "10022:69:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "23b872dd", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10128:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10128:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10150:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10170:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10170:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10118:71:21" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5542, - "src": "10208:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10208:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10207:6:21" - }, - "scope": 5543, - "src": "10097:117:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "9359:857:21" - }, - { - "id": 5544, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10271:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5605, - "linearizedBaseContracts": [ - 5605 - ], - "name": "IUniswapV2Factory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 5554, - "name": "PairCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5546, - "indexed": true, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10349:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10349:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "indexed": true, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10373:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10373:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "indexed": false, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10397:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10397:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "indexed": false, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5554, - "src": "10411:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10411:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10348:71:21" - }, - "src": "10331:89:21" - }, - { - "body": null, - "documentation": null, - "functionSelector": "017e7e58", - "id": 5559, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5555, - "nodeType": "ParameterList", - "parameters": [], - "src": "10440:2:21" - }, - "returnParameters": { - "id": 5558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5559, - "src": "10466:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5556, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10466:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10465:9:21" - }, - "scope": 5605, - "src": "10426:49:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "094b7415", - "id": 5564, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "feeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [], - "src": "10501:2:21" - }, - "returnParameters": { - "id": 5563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5564, - "src": "10527:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10526:9:21" - }, - "scope": 5605, - "src": "10481:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "e6a43905", - "id": 5573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10559:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10559:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5568, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10575:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10575:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10558:32:21" - }, - "returnParameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5573, - "src": "10614:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10614:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10613:14:21" - }, - "scope": 5605, - "src": "10542:86:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "1e3dd18b", - "id": 5580, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10652:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10651:9:21" - }, - "returnParameters": { - "id": 5579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "10684:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10683:14:21" - }, - "scope": 5605, - "src": "10634:64:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "574f2ba3", - "id": 5585, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allPairsLength", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [], - "src": "10727:2:21" - }, - "returnParameters": { - "id": 5584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5585, - "src": "10753:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10753:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10752:9:21" - }, - "scope": 5605, - "src": "10704:58:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "c9c65396", - "id": 5594, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPair", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "tokenA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10788:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10788:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "tokenB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10804:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10787:32:21" - }, - "returnParameters": { - "id": 5593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5592, - "mutability": "mutable", - "name": "pair", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5594, - "src": "10838:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10838:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10837:14:21" - }, - "scope": 5605, - "src": "10768:84:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "f46901ed", - "id": 5599, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeTo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5599, - "src": "10876:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10876:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10875:9:21" - }, - "returnParameters": { - "id": 5598, - "nodeType": "ParameterList", - "parameters": [], - "src": "10893:0:21" - }, - "scope": 5605, - "src": "10858:36:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "functionSelector": "a2e74af6", - "id": 5604, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setFeeToSetter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5604, - "src": "10924:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10924:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10923:9:21" - }, - "returnParameters": { - "id": 5603, - "nodeType": "ParameterList", - "parameters": [], - "src": "10941:0:21" - }, - "scope": 5605, - "src": "10900:42:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "10297:647:21" - }, - { - "id": 5606, - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "10998:24:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 5618, - "linearizedBaseContracts": [ - 5618 - ], - "name": "IUniswapV2Callee", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "10d1e85c", - "id": 5617, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "uniswapV2Call", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11089:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11089:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11113:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11138:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11138:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "11163:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11163:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11079:109:21" - }, - "returnParameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [], - "src": "11197:0:21" - }, - "scope": 5618, - "src": "11057:141:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11024:176:21" - }, - { - "id": 5619, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "11240:22:21" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5620, - "name": "UniswapV2ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5342, - "src": "11290:14:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2ERC20_$5342", - "typeString": "contract UniswapV2ERC20" - } - }, - "id": 5621, - "nodeType": "InheritanceSpecifier", - "src": "11290:14:21" - } - ], - "contractDependencies": [ - 5342 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6679, - "linearizedBaseContracts": [ - 6679, - 5342 - ], - "name": "UniswapV2Pair", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5624, - "libraryName": { - "contractScope": null, - "id": 5622, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "11317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$4991", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "11311:27:21", - "typeName": { - "id": 5623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 5627, - "libraryName": { - "contractScope": null, - "id": 5625, - "name": "UQ112x112", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5460, - "src": "11349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UQ112x112_$5460", - "typeString": "library UQ112x112" - } - }, - "nodeType": "UsingForDirective", - "src": "11343:28:21", - "typeName": { - "id": 5626, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "11363:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - }, - { - "constant": true, - "functionSelector": "ba9a7a56", - "id": 5632, - "mutability": "constant", - "name": "MINIMUM_LIQUIDITY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11377:49:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11377:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11421:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11425:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "11421:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 5643, - "mutability": "constant", - "name": "SELECTOR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11432:88:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 5633, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11432:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7472616e7366657228616464726573732c75696e7432353629", - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:27:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - }, - "value": "transfer(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", - "typeString": "literal_string \"transfer(address,uint256)\"" - } - ], - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 5637, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11484:5:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11484:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5636, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11474:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11474:45:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 5634, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11467:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11467:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "c45a0155", - "id": 5645, - "mutability": "mutable", - "name": "factory", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11527:22:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11527:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0dfe1681", - "id": 5647, - "mutability": "mutable", - "name": "token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11555:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11555:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d21220a7", - "id": 5649, - "mutability": "mutable", - "name": "token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11582:21:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11582:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5651, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11610:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5650, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11610:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5653, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11696:24:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5652, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "11696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5655, - "mutability": "mutable", - "name": "blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11782:33:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5654, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11782:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "5909c0d5", - "id": 5657, - "mutability": "mutable", - "name": "price0CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11878:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11878:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "5a3d5493", - "id": 5659, - "mutability": "mutable", - "name": "price1CumulativeLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11919:35:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11919:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7464fc3d", - "id": 5661, - "mutability": "mutable", - "name": "kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "11960:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11960:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5664, - "mutability": "mutable", - "name": "unlocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6679, - "src": "12067:28:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12067:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12094:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "body": { - "id": 5682, - "nodeType": "Block", - "src": "12117:115:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5667, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12135:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12147:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12135:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204c4f434b4544", - "id": 5670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12150:19:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - }, - "value": "UniswapV2: LOCKED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4cc87f075f04bdfaccb0dc54ec0b98f9169b1507a7e83ec8ee97e34d6a77db4a", - "typeString": "literal_string \"UniswapV2: LOCKED\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12127:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12127:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5672, - "nodeType": "ExpressionStatement", - "src": "12127:43:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5673, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12180:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12191:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12180:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ExpressionStatement", - "src": "12180:12:21" - }, - { - "id": 5677, - "nodeType": "PlaceholderStatement", - "src": "12202:1:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5678, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5664, - "src": "12213:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12224:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12213:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "12213:12:21" - } - ] - }, - "documentation": null, - "id": 5683, - "name": "lock", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5665, - "nodeType": "ParameterList", - "parameters": [], - "src": "12114:2:21" - }, - "src": "12101:131:21", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5704, - "nodeType": "Block", - "src": "12422:117:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5692, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5686, - "src": "12432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5693, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "12444:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12432:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5695, - "nodeType": "ExpressionStatement", - "src": "12432:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5696, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5688, - "src": "12462:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5697, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "12474:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "12462:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5699, - "nodeType": "ExpressionStatement", - "src": "12462:20:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5700, - "name": "_blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5690, - "src": "12492:19:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5701, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "12514:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "12492:40:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5703, - "nodeType": "ExpressionStatement", - "src": "12492:40:21" - } - ] - }, - "documentation": null, - "functionSelector": "0902f1ac", - "id": 5705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getReserves", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5684, - "nodeType": "ParameterList", - "parameters": [], - "src": "12258:2:21" - }, - "returnParameters": { - "id": 5691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12319:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5685, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12319:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5688, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12350:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5687, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "12350:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5690, - "mutability": "mutable", - "name": "_blockTimestampLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5705, - "src": "12381:26:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5689, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12381:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12305:112:21" - }, - "scope": 6679, - "src": "12238:301:21", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5747, - "nodeType": "Block", - "src": "12648:248:21", - "statements": [ - { - "assignments": [ - 5715, - 5717 - ], - "declarations": [ - { - "constant": false, - "id": 5715, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12659:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12659:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5747, - "src": "12673:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12673:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5722, - "name": "SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "12728:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "id": 5723, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5709, - "src": "12738:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5711, - "src": "12742:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12705:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12705:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12705:43:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5718, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5707, - "src": "12694:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12694:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12694:55:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12658:91:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5729, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "12780:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12792:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12792:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12807:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12792:16:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "12823:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 5737, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12830:4:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 5739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12829:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "argumentTypes": null, - "id": 5734, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12812:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12812:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12812:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12792:44:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12791:46:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12780:57:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a205452414e534645525f4641494c4544", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12851:28:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - }, - "value": "UniswapV2: TRANSFER_FAILED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8733df98393ec23d211b1de22ecb14bb9ce352e147cbbbe19c11e12e90b7ff2", - "typeString": "literal_string \"UniswapV2: TRANSFER_FAILED\"" - } - ], - "id": 5728, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12759:130:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5746, - "nodeType": "ExpressionStatement", - "src": "12759:130:21" - } - ] - }, - "documentation": null, - "id": 5748, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5707, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12577:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12577:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5709, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12600:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12600:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5711, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5748, - "src": "12620:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12620:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12567:72:21" - }, - "returnParameters": { - "id": 5713, - "nodeType": "ParameterList", - "parameters": [], - "src": "12648:0:21" - }, - "scope": 6679, - "src": "12545:351:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": null, - "id": 5756, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 5755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5750, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12913:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5749, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12913:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5752, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12937:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12937:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5754, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5756, - "src": "12954:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12954:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12912:58:21" - }, - "src": "12902:69:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5766, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 5765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5758, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "12987:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12987:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5760, - "indexed": false, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13011:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13011:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5762, - "indexed": false, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13028:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13028:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5764, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "13045:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13045:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12986:78:21" - }, - "src": "12976:89:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5780, - "name": "Swap", - "nodeType": "EventDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13090:22:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13090:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "indexed": false, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13122:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13122:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5772, - "indexed": false, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13149:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13149:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "indexed": false, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13176:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13176:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5776, - "indexed": false, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13204:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13204:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5780, - "src": "13232:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13232:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13080:176:21" - }, - "src": "13070:187:21" - }, - { - "anonymous": false, - "documentation": null, - "id": 5786, - "name": "Sync", - "nodeType": "EventDefinition", - "parameters": { - "id": 5785, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5782, - "indexed": false, - "mutability": "mutable", - "name": "reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13273:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5781, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13273:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5784, - "indexed": false, - "mutability": "mutable", - "name": "reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5786, - "src": "13291:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5783, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13291:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13272:36:21" - }, - "src": "13262:47:21" - }, - { - "body": { - "id": 5794, - "nodeType": "Block", - "src": "13336:37:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5789, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13346:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13356:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13356:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13346:20:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5793, - "nodeType": "ExpressionStatement", - "src": "13346:20:21" - } - ] - }, - "documentation": null, - "id": 5795, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [], - "src": "13326:2:21" - }, - "returnParameters": { - "id": 5788, - "nodeType": "ParameterList", - "parameters": [], - "src": "13336:0:21" - }, - "scope": 6679, - "src": "13315:58:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5818, - "nodeType": "Block", - "src": "13498:143:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13516:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13516:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5805, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "13530:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13516:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20464f5242494444454e", - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13539:22:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - }, - "value": "UniswapV2: FORBIDDEN" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e6d2caae3ed190a2586f9b576de92bc80eab72002acec2261bbed89d68a3b37", - "typeString": "literal_string \"UniswapV2: FORBIDDEN\"" - } - ], - "id": 5802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13508:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "13508:54:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5810, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "13592:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5811, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "13601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13592:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5813, - "nodeType": "ExpressionStatement", - "src": "13592:16:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5814, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "13618:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5815, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "13627:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13618:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5817, - "nodeType": "ExpressionStatement", - "src": "13618:16:21" - } - ] - }, - "documentation": null, - "functionSelector": "485cc955", - "id": 5819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13455:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13455:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5819, - "src": "13472:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13472:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13454:34:21" - }, - "returnParameters": { - "id": 5801, - "nodeType": "ParameterList", - "parameters": [], - "src": "13498:0:21" - }, - "scope": 6679, - "src": "13435:206:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5933, - "nodeType": "Block", - "src": "13860:824:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5831, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "13878:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13898:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13899:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5832, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13890:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13890:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13878:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5838, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "13905:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "13925:2:21", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13926:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5839, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13917:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13917:11:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "13905:23:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13878:50:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204f564552464c4f57", - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:21:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - }, - "value": "UniswapV2: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a5d1f08cd66a1a59e841a286c7f2c877311b5d331d2315cd2fe3c5f05e833928", - "typeString": "literal_string \"UniswapV2: OVERFLOW\"" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13870:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13870:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5848, - "nodeType": "ExpressionStatement", - "src": "13870:82:21" - }, - { - "assignments": [ - 5850 - ], - "declarations": [ - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "blockTimestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "13962:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5849, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13962:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5860, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5853, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "13993:5:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13993:15:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14011:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14014:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14011:5:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "13993:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5851, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "13986:6:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13986:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13962:55:21" - }, - { - "assignments": [ - 5862 - ], - "declarations": [ - { - "constant": false, - "id": 5862, - "mutability": "mutable", - "name": "timeElapsed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5933, - "src": "14027:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5861, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14027:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5863, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14048:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5864, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14065:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14048:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14027:56:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5867, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14120:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14134:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14120:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5870, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14139:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14152:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14139:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "id": 5876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5874, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14157:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14170:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14157:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14120:51:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5909, - "nodeType": "IfStatement", - "src": "14116:402:21", - "trueBody": { - "id": 5908, - "nodeType": "Block", - "src": "14173:345:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5878, - "name": "price0CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5657, - "src": "14247:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5886, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14329:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5883, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14312:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5881, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14295:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14295:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14295:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14295:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14287:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5889, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14359:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14287:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14247:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5892, - "nodeType": "ExpressionStatement", - "src": "14247:123:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5893, - "name": "price1CumulativeLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5659, - "src": "14384:20:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5901, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "14466:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5898, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "14449:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 5896, - "name": "UQ112x112", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5460, - "src": "14432:9:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UQ112x112_$5460_$", - "typeString": "type(library UQ112x112)" - } - }, - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "14432:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$returns$_t_uint224_$", - "typeString": "function (uint112) pure returns (uint224)" - } - }, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uqdiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 5459, - "src": "14432:33:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint224_$_t_uint112_$returns$_t_uint224_$bound_to$_t_uint224_$", - "typeString": "function (uint224,uint112) pure returns (uint224)" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14432:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14424:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14424:53:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 5904, - "name": "timeElapsed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5862, - "src": "14496:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14424:83:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14384:123:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5907, - "nodeType": "ExpressionStatement", - "src": "14384:123:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5910, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14527:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5913, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5821, - "src": "14546:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5911, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14538:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14538:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14527:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5916, - "nodeType": "ExpressionStatement", - "src": "14527:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5917, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14565:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5920, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5823, - "src": "14584:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5918, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14576:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14576:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "14565:28:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "14565:28:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5924, - "name": "blockTimestampLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5655, - "src": "14603:18:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5925, - "name": "blockTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5850, - "src": "14624:14:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "14603:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 5927, - "nodeType": "ExpressionStatement", - "src": "14603:35:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5929, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "14658:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 5930, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "14668:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5928, - "name": "Sync", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5786, - "src": "14653:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint112,uint112)" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14653:24:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "EmitStatement", - "src": "14648:29:21" - } - ] - }, - "documentation": null, - "id": 5934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_update", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5821, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13749:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13749:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5823, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13775:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13775:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5825, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13801:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5824, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5827, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5934, - "src": "13828:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5826, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "13828:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13739:112:21" - }, - "returnParameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [], - "src": "13860:0:21" - }, - "scope": 6679, - "src": "13723:961:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6041, - "nodeType": "Block", - "src": "14856:755:21", - "statements": [ - { - "assignments": [ - 5944 - ], - "declarations": [ - { - "constant": false, - "id": 5944, - "mutability": "mutable", - "name": "feeTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14866:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14866:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5950, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5946, - "name": "factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5645, - "src": "14900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5945, - "name": "IUniswapV2Factory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5605, - "src": "14882:17:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$5605_$", - "typeString": "type(contract IUniswapV2Factory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:26:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$5605", - "typeString": "contract IUniswapV2Factory" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "feeTo", - "nodeType": "MemberAccess", - "referencedDeclaration": 5559, - "src": "14882:32:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14882:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14866:50:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "14926:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5952, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "14934:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14951:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14943:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14943:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14934:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14926:27:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5959, - "nodeType": "ExpressionStatement", - "src": "14926:27:21" - }, - { - "assignments": [ - 5961 - ], - "declarations": [ - { - "constant": false, - "id": 5961, - "mutability": "mutable", - "name": "_kLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6041, - "src": "14963:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14963:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5963, - "initialValue": { - "argumentTypes": null, - "id": 5962, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "14980:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14963:22:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 5964, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "15014:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6031, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15558:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15568:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15558:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6039, - "nodeType": "IfStatement", - "src": "15554:51:21", - "trueBody": { - "id": 6038, - "nodeType": "Block", - "src": "15571:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6034, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "15585:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15593:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15585:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6037, - "nodeType": "ExpressionStatement", - "src": "15585:9:21" - } - ] - } - }, - "id": 6040, - "nodeType": "IfStatement", - "src": "15010:595:21", - "trueBody": { - "id": 6030, - "nodeType": "Block", - "src": "15021:527:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5965, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15039:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15039:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6029, - "nodeType": "IfStatement", - "src": "15035:503:21", - "trueBody": { - "id": 6028, - "nodeType": "Block", - "src": "15052:486:21", - "statements": [ - { - "assignments": [ - 5969 - ], - "declarations": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "rootK", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15070:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15070:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5980, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5977, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "15119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5974, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5936, - "src": "15104:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15096:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15096:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15096:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5970, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15086:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15086:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15086:44:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15070:60:21" - }, - { - "assignments": [ - 5982 - ], - "declarations": [ - { - "constant": false, - "id": 5982, - "mutability": "mutable", - "name": "rootKLast", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6028, - "src": "15148:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5987, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5985, - "name": "_kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5961, - "src": "15178:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5983, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "15168:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "15168:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15168:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:37:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5988, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15207:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5989, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15215:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15207:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6027, - "nodeType": "IfStatement", - "src": "15203:321:21", - "trueBody": { - "id": 6026, - "nodeType": "Block", - "src": "15226:298:21", - "statements": [ - { - "assignments": [ - 5992 - ], - "declarations": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "numerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15248:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15248:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5997, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15294:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5995, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15284:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "15284:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15284:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5993, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "15268:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15268:15:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15268:37:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15248:57:21" - }, - { - "assignments": [ - 6002 - ], - "declarations": [ - { - "constant": false, - "id": 6002, - "mutability": "mutable", - "name": "denominator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15327:19:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15327:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6008, - "name": "rootKLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "15366:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "35", - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15359:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "expression": { - "argumentTypes": null, - "id": 6003, - "name": "rootK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "15349:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "15349:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:12:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4940, - "src": "15349:16:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15349:27:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15327:49:21" - }, - { - "assignments": [ - 6012 - ], - "declarations": [ - { - "constant": false, - "id": 6012, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6026, - "src": "15398:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15398:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6013, - "name": "numerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "15418:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6014, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6002, - "src": "15430:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15418:23:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15398:43:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6017, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15467:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15479:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15467:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6025, - "nodeType": "IfStatement", - "src": "15463:42:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6021, - "name": "feeTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "15488:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6022, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6012, - "src": "15495:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6020, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "15482:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15482:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6024, - "nodeType": "ExpressionStatement", - "src": "15482:23:21" - } - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - "documentation": null, - "id": 6042, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintFee", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5936, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14789:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5935, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14789:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5938, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14808:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5937, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "14808:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14788:38:21" - }, - "returnParameters": { - "id": 5942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5941, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6042, - "src": "14844:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5940, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14844:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14843:12:21" - }, - "scope": 6679, - "src": "14771:840:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 6190, - "nodeType": "Block", - "src": "15788:1220:21", - "statements": [ - { - "assignments": [ - 6052, - 6054, - null - ], - "declarations": [ - { - "constant": false, - "id": 6052, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15799:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6051, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6054, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15818:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6053, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "15818:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6057, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6055, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "15841:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15841:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15798:56:21" - }, - { - "assignments": [ - 6059 - ], - "declarations": [ - { - "constant": false, - "id": 6059, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15879:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15879:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6066, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15931:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15923:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15923:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6061, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "15905:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6060, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15898:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15898:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15898:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15879:58:21" - }, - { - "assignments": [ - 6071 - ], - "declarations": [ - { - "constant": false, - "id": 6071, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "15947:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15947:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6078, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15999:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15991:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15991:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6073, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "15973:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6072, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "15966:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "15966:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15966:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15947:58:21" - }, - { - "assignments": [ - 6083 - ], - "declarations": [ - { - "constant": false, - "id": 6083, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16015:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16015:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6086, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16046:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6084, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16033:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16033:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16015:41:21" - }, - { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16066:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16066:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6093, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16097:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "id": 6091, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16084:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16084:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16084:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16066:41:21" - }, - { - "assignments": [ - 6097 - ], - "declarations": [ - { - "constant": false, - "id": 6097, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16118:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6096, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6102, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6099, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16140:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6100, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16151:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6098, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "16131:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16118:43:21" - }, - { - "assignments": [ - 6104 - ], - "declarations": [ - { - "constant": false, - "id": 6104, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6190, - "src": "16171:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6106, - "initialValue": { - "argumentTypes": null, - "id": 6105, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "16194:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16171:34:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6107, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16297:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16297:17:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6150, - "nodeType": "Block", - "src": "16518:169:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6132, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16532:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6137, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16582:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6135, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16570:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16570:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16570:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6139, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16598:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16570:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6143, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "16637:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6141, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16625:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16625:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16625:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6145, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16653:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "16625:37:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6133, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16544:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 5362, - "src": "16544:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16544:132:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16532:144:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6149, - "nodeType": "ExpressionStatement", - "src": "16532:144:21" - } - ] - }, - "id": 6151, - "nodeType": "IfStatement", - "src": "16293:394:21", - "trueBody": { - "id": 6131, - "nodeType": "Block", - "src": "16316:196:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6110, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16330:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6119, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16378:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16364:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6113, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16352:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16352:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6111, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "16342:4:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$5417_$", - "typeString": "type(library Math)" - } - }, - "id": 6112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 5416, - "src": "16342:9:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "16342:35:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16342:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16330:66:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6122, - "nodeType": "ExpressionStatement", - "src": "16330:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16424:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16416:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16416:10:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6128, - "name": "MINIMUM_LIQUIDITY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "16428:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6123, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16410:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16410:36:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6130, - "nodeType": "ExpressionStatement", - "src": "16410:36:21" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6153, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16704:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16716:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16704:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16719:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6591c9f5bf1fefaad109b76a20e25c857b696080c952191f86220f001a83663e", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED\"" - } - ], - "id": 6152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16696:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16696:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6158, - "nodeType": "ExpressionStatement", - "src": "16696:66:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6160, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "16778:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6161, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6049, - "src": "16782:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6159, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5076, - "src": "16772:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16772:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6163, - "nodeType": "ExpressionStatement", - "src": "16772:20:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6165, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6059, - "src": "16811:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6166, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "16821:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6167, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6052, - "src": "16831:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6168, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6054, - "src": "16842:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6164, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "16803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16803:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "ExpressionStatement", - "src": "16803:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6171, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "16866:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6182, - "nodeType": "IfStatement", - "src": "16862:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6172, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "16873:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6178, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "16903:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6175, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "16889:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16881:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "16881:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16881:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16873:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6181, - "nodeType": "ExpressionStatement", - "src": "16873:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6184, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16972:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16972:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6186, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "16984:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6187, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "16993:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6183, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "16967:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16967:34:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "EmitStatement", - "src": "16962:39:21" - } - ] - }, - "documentation": null, - "functionSelector": "6a627842", - "id": 6191, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6047, - "modifierName": { - "argumentTypes": null, - "id": 6046, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "15755:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15755:4:21" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6044, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15734:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15734:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15733:12:21" - }, - "returnParameters": { - "id": 6050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6049, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6191, - "src": "15769:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15769:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15768:19:21" - }, - "scope": 6679, - "src": "15720:1288:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6361, - "nodeType": "Block", - "src": "17200:1321:21", - "statements": [ - { - "assignments": [ - 6203, - 6205, - null - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17211:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6202, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17211:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6205, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17230:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6204, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "17230:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6208, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6206, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "17253:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17253:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17210:56:21" - }, - { - "assignments": [ - 6210 - ], - "declarations": [ - { - "constant": false, - "id": 6210, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17291:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17291:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6212, - "initialValue": { - "argumentTypes": null, - "id": 6211, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "17309:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17291:24:21" - }, - { - "assignments": [ - 6214 - ], - "declarations": [ - { - "constant": false, - "id": 6214, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17340:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17340:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6216, - "initialValue": { - "argumentTypes": null, - "id": 6215, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "17358:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17340:24:21" - }, - { - "assignments": [ - 6218 - ], - "declarations": [ - { - "constant": false, - "id": 6218, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17389:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17389:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6228, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6225, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17442:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17434:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17434:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6220, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "17415:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6219, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17408:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17408:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17408:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17389:59:21" - }, - { - "assignments": [ - 6230 - ], - "declarations": [ - { - "constant": false, - "id": 6230, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17458:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17458:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6240, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6237, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17511:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17503:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17503:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6232, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "17484:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6231, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "17477:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "17477:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17477:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17458:59:21" - }, - { - "assignments": [ - 6242 - ], - "declarations": [ - { - "constant": false, - "id": 6242, - "mutability": "mutable", - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17527:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17527:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6249, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6243, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5010, - "src": "17547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6248, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6246, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17565:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17557:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17557:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17547:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17527:44:21" - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "mutability": "mutable", - "name": "feeOn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17582:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6250, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17582:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6256, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6253, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "17604:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6254, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "17615:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6252, - "name": "_mintFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6042, - "src": "17595:8:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint112_$_t_uint112_$returns$_t_bool_$", - "typeString": "function (uint112,uint112) returns (bool)" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17595:30:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17582:43:21" - }, - { - "assignments": [ - 6258 - ], - "declarations": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6361, - "src": "17635:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17635:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6260, - "initialValue": { - "argumentTypes": null, - "id": 6259, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "17658:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17635:34:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6261, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17757:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6264, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "17781:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17767:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17767:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17767:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6266, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17793:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17767:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17757:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6269, - "nodeType": "ExpressionStatement", - "src": "17757:48:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6270, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17863:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6273, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "17887:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "17873:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "17873:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17873:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6275, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "17899:12:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17873:38:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17863:48:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6278, - "nodeType": "ExpressionStatement", - "src": "17863:48:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6280, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "17977:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17987:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17977:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6283, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "17992:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18002:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17992:11:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17977:26:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18005:42:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_57ebfb4dd8b5082cdba0f23c17077e3b0ecb9782a51e0e9a15e9bc8c4b30c562", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED\"" - } - ], - "id": 6279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17969:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17969:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6289, - "nodeType": "ExpressionStatement", - "src": "17969:79:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6293, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18072:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18064:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18064:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "liquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6242, - "src": "18079:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6290, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5111, - "src": "18058:5:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "ExpressionStatement", - "src": "18058:31:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6299, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18113:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6300, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18122:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6301, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18126:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6298, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18099:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18099:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6303, - "nodeType": "ExpressionStatement", - "src": "18099:35:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18158:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6306, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18167:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6307, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18171:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "18144:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18144:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "18144:35:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6310, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18189:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6317, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18234:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18226:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18226:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6312, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6210, - "src": "18207:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6311, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18200:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18200:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18200:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18189:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6321, - "nodeType": "ExpressionStatement", - "src": "18189:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18250:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6329, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18295:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18287:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18287:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6324, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6214, - "src": "18268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6323, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "18261:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "18261:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18261:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18250:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6333, - "nodeType": "ExpressionStatement", - "src": "18250:51:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "18320:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6336, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "18330:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6337, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "18340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6338, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6205, - "src": "18351:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6334, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "18312:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18312:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6340, - "nodeType": "ExpressionStatement", - "src": "18312:49:21" - }, - { - "condition": { - "argumentTypes": null, - "id": 6341, - "name": "feeOn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "18375:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6352, - "nodeType": "IfStatement", - "src": "18371:50:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6342, - "name": "kLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "18382:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6348, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "18412:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6345, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "18398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18390:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:17:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "18390:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18390:31:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18382:39:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6351, - "nodeType": "ExpressionStatement", - "src": "18382:39:21" - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18481:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18481:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6356, - "name": "amount0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6198, - "src": "18493:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6357, - "name": "amount1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6200, - "src": "18502:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6358, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "18511:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6353, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "18476:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,address)" - } - }, - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18476:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6360, - "nodeType": "EmitStatement", - "src": "18471:43:21" - } - ] - }, - "documentation": null, - "functionSelector": "89afcb44", - "id": 6362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6196, - "modifierName": { - "argumentTypes": null, - "id": 6195, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "17152:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17152:4:21" - } - ], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6193, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17131:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17131:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17130:12:21" - }, - "returnParameters": { - "id": 6201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "mutability": "mutable", - "name": "amount0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17166:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17166:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6200, - "mutability": "mutable", - "name": "amount1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6362, - "src": "17183:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17183:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17165:34:21" - }, - "scope": 6679, - "src": "17117:1404:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6598, - "nodeType": "Block", - "src": "18769:2020:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6376, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18787:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18800:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18787:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6379, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18805:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18818:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18805:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18787:32:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 6383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18821:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05339493da7e2cbe77e17beadf6b91132eb307939495f5f1797bf88d95539e83", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT\"" - } - ], - "id": 6375, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18779:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "18779:82:21" - }, - { - "assignments": [ - 6387, - 6389, - null - ], - "declarations": [ - { - "constant": false, - "id": 6387, - "mutability": "mutable", - "name": "_reserve0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18872:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6386, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18872:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6389, - "mutability": "mutable", - "name": "_reserve1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "18891:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 6388, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "18891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6392, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6390, - "name": "getReserves", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5705, - "src": "18914:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "function () view returns (uint112,uint112,uint32)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18914:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$", - "typeString": "tuple(uint112,uint112,uint32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18871:56:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6394, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "18973:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6395, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "18986:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18973:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6397, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "18999:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "19012:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "18999:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18973:48:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f4c4951554944495459", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19035:35:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - }, - "value": "UniswapV2: INSUFFICIENT_LIQUIDITY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f354ef449b2a9b081220ce21f57691008110b653edc191d8288e60cef58bb5f", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_LIQUIDITY\"" - } - ], - "id": 6393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18952:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18952:128:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6403, - "nodeType": "ExpressionStatement", - "src": "18952:128:21" - }, - { - "assignments": [ - 6405 - ], - "declarations": [ - { - "constant": false, - "id": 6405, - "mutability": "mutable", - "name": "balance0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19091:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19091:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6406, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19091:16:21" - }, - { - "assignments": [ - 6408 - ], - "declarations": [ - { - "constant": false, - "id": 6408, - "mutability": "mutable", - "name": "balance1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19117:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19117:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6409, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19117:16:21" - }, - { - "id": 6489, - "nodeType": "Block", - "src": "19143:701:21", - "statements": [ - { - "assignments": [ - 6411 - ], - "declarations": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19224:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19224:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6413, - "initialValue": { - "argumentTypes": null, - "id": 6412, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "19242:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19224:24:21" - }, - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6489, - "src": "19262:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19262:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6417, - "initialValue": { - "argumentTypes": null, - "id": 6416, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "19280:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19262:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6419, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19308:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6420, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19314:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19308:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6422, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19325:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6423, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19331:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19325:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19308:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e56414c49445f544f", - "id": 6426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19340:23:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - }, - "value": "UniswapV2: INVALID_TO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25d395026e6e4dd4e9808c7d6d3dd1f45abaf4874ae71f7161fff58de03154d3", - "typeString": "literal_string \"UniswapV2: INVALID_TO\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19300:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19300:64:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6428, - "nodeType": "ExpressionStatement", - "src": "19300:64:21" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6429, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19382:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19382:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6438, - "nodeType": "IfStatement", - "src": "19378:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6433, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19412:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6434, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19421:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6435, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19425:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6432, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19398:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19398:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6437, - "nodeType": "ExpressionStatement", - "src": "19398:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6439, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19488:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19501:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19488:14:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6448, - "nodeType": "IfStatement", - "src": "19484:58:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6443, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19518:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19527:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6445, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19531:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6442, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "19504:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19504:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "19504:38:21" - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19594:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19594:11:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19608:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19594:15:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6464, - "nodeType": "IfStatement", - "src": "19590:113:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19662:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19662:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6459, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19674:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6460, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "19686:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6461, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6370, - "src": "19698:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "19644:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6453, - "name": "IUniswapV2Callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5618, - "src": "19627:16:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Callee_$5618_$", - "typeString": "type(contract IUniswapV2Callee)" - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Callee_$5618", - "typeString": "contract IUniswapV2Callee" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uniswapV2Call", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "19627:34:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory) external" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19627:76:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "19627:76:21" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6465, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19717:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6472, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19762:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19754:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19754:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6467, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "19735:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6466, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19728:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19728:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19728:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19717:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6476, - "nodeType": "ExpressionStatement", - "src": "19717:51:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6477, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "19782:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6484, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19827:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19819:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19819:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6479, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "19800:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6478, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "19793:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "19793:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19793:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19782:51:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6488, - "nodeType": "ExpressionStatement", - "src": "19782:51:21" - } - ] - }, - { - "assignments": [ - 6491 - ], - "declarations": [ - { - "constant": false, - "id": 6491, - "mutability": "mutable", - "name": "amount0In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19853:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19853:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6505, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6492, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19873:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6493, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19884:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6494, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19896:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19884:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19873:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19971:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "19873:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6497, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "19921:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6498, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "19933:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "19945:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19933:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19932:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19921:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19853:119:21" - }, - { - "assignments": [ - 6507 - ], - "declarations": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "amount1In", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6598, - "src": "19982:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6521, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6508, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20002:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6509, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20013:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6510, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20025:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20013:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20002:33:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20100:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 6520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "20002:99:21", - "trueExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6513, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20050:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6514, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20062:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20074:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20062:22:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6517, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20061:24:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20050:35:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:119:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6523, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20119:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20119:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6526, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20136:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20148:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20136:13:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20119:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20151:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2: INSUFFICIENT_INPUT_AMOUNT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_10e2efc32d8a31d3b2c11a545b3ed09c2dbabc58ef6de4033929d0002e425b67", - "typeString": "literal_string \"UniswapV2: INSUFFICIENT_INPUT_AMOUNT\"" - } - ], - "id": 6522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20111:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20111:79:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6532, - "nodeType": "ExpressionStatement", - "src": "20111:79:21" - }, - { - "id": 6580, - "nodeType": "Block", - "src": "20200:442:21", - "statements": [ - { - "assignments": [ - 6534 - ], - "declarations": [ - { - "constant": false, - "id": 6534, - "mutability": "mutable", - "name": "balance0Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20290:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20290:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6545, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20354:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6540, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20340:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20340:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20340:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20330:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6535, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20317:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20317:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20317:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20317:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20290:67:21" - }, - { - "assignments": [ - 6547 - ], - "declarations": [ - { - "constant": false, - "id": 6547, - "mutability": "mutable", - "name": "balance1Adjusted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6580, - "src": "20371:24:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20371:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6558, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20435:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20421:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20421:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20421:16:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20411:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20398:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20398:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "20398:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20398:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20371:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6562, - "name": "balance1Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "20498:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6560, - "name": "balance0Adjusted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6534, - "src": "20477:16:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20477:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20477:38:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20577:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20583:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20577:7:21", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6569, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20562:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6566, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20547:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20539:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:22:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 4990, - "src": "20539:37:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20539:46:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20477:108:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e697377617056323a204b", - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20603:14:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - }, - "value": "UniswapV2: K" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b159bbb975f5448705db79eafd212ba91c20fe5a110a13759239545d3339af", - "typeString": "literal_string \"UniswapV2: K\"" - } - ], - "id": 6559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20452:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20452:179:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6579, - "nodeType": "ExpressionStatement", - "src": "20452:179:21" - } - ] - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6582, - "name": "balance0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6405, - "src": "20660:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6583, - "name": "balance1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6408, - "src": "20670:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6584, - "name": "_reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "20680:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6585, - "name": "_reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6389, - "src": "20691:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6581, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "20652:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20652:49:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6587, - "nodeType": "ExpressionStatement", - "src": "20652:49:21" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20721:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20721:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6591, - "name": "amount0In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6491, - "src": "20733:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6592, - "name": "amount1In", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "20744:9:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6593, - "name": "amount0Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "20755:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6594, - "name": "amount1Out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6366, - "src": "20767:10:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6595, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6368, - "src": "20779:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6588, - "name": "Swap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "20716:4:21", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20716:66:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "EmitStatement", - "src": "20711:71:21" - } - ] - }, - "documentation": null, - "functionSelector": "022c0d9f", - "id": 6599, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6373, - "modifierName": { - "argumentTypes": null, - "id": 6372, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "18764:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18764:4:21" - } - ], - "name": "swap", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6364, - "mutability": "mutable", - "name": "amount0Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18653:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18653:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6366, - "mutability": "mutable", - "name": "amount1Out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18681:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18681:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18709:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18709:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "mutability": "mutable", - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6599, - "src": "18729:19:21", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18729:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18643:111:21" - }, - "returnParameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [], - "src": "18769:0:21" - }, - "scope": 6679, - "src": "18630:2159:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6648, - "nodeType": "Block", - "src": "20875:289:21", - "statements": [ - { - "assignments": [ - 6607 - ], - "declarations": [ - { - "constant": false, - "id": 6607, - "mutability": "mutable", - "name": "_token0", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20885:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20885:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6609, - "initialValue": { - "argumentTypes": null, - "id": 6608, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "20903:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20885:24:21" - }, - { - "assignments": [ - 6611 - ], - "declarations": [ - { - "constant": false, - "id": 6611, - "mutability": "mutable", - "name": "_token1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6648, - "src": "20934:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20934:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6613, - "initialValue": { - "argumentTypes": null, - "id": 6612, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "20952:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20934:24:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6615, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "20997:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6616, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21006:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21055:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21044:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21036:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21036:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6618, - "name": "_token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6607, - "src": "21017:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6617, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21010:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21010:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21010:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21010:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "20983:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20983:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "20983:82:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6632, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21089:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6633, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6601, - "src": "21098:2:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21147:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6640, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21136:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21128:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21128:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6635, - "name": "_token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6611, - "src": "21109:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6634, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21102:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:15:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21102:25:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:40:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 4962, - "src": "21102:44:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21102:54:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6631, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5748, - "src": "21075:13:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21075:82:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6647, - "nodeType": "ExpressionStatement", - "src": "21075:82:21" - } - ] - }, - "documentation": null, - "functionSelector": "bc25cf77", - "id": 6649, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6604, - "modifierName": { - "argumentTypes": null, - "id": 6603, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "20870:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20870:4:21" - } - ], - "name": "skim", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6601, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6649, - "src": "20849:10:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20849:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20848:12:21" - }, - "returnParameters": { - "id": 6605, - "nodeType": "ParameterList", - "parameters": [], - "src": "20875:0:21" - }, - "scope": 6679, - "src": "20835:329:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6677, - "nodeType": "Block", - "src": "21240:184:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6661, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21304:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21296:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21296:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6656, - "name": "token0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5647, - "src": "21278:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21271:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21271:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21271:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6670, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "21357:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_UniswapV2Pair_$6679", - "typeString": "contract UniswapV2Pair" - } - ], - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21349:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21349:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6665, - "name": "token1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5649, - "src": "21331:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6664, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5543, - "src": "21324:6:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5543_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:14:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5543", - "typeString": "contract IERC20" - } - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5504, - "src": "21324:24:21", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21324:39:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6673, - "name": "reserve0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5651, - "src": "21377:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - { - "argumentTypes": null, - "id": 6674, - "name": "reserve1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5653, - "src": "21399:8:21", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - ], - "id": 6654, - "name": "_update", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "21250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint112_$_t_uint112_$returns$__$", - "typeString": "function (uint256,uint256,uint112,uint112)" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21250:167:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6676, - "nodeType": "ExpressionStatement", - "src": "21250:167:21" - } - ] - }, - "documentation": null, - "functionSelector": "fff6cae9", - "id": 6678, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6652, - "modifierName": { - "argumentTypes": null, - "id": 6651, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5683, - "src": "21235:4:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "21235:4:21" - } - ], - "name": "sync", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6650, - "nodeType": "ParameterList", - "parameters": [], - "src": "21223:2:21" - }, - "returnParameters": { - "id": 6653, - "nodeType": "ParameterList", - "parameters": [], - "src": "21240:0:21" - }, - "scope": 6679, - "src": "21210:214:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6680, - "src": "11264:10162:21" - } - ], - "src": "118:21309:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.658Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build-v1/contracts/WETH9.json b/build-v1/contracts/WETH9.json deleted file mode 100644 index 8cffa62..0000000 --- a/build-v1/contracts/WETH9.json +++ /dev/null @@ -1,6950 +0,0 @@ -{ - "contractName": "WETH9", - "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": "", - "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": [], - "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" - }, - { - "stateMutability": "payable", - "type": "receive" - }, - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "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": "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" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"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\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestWETH.sol\":\"WETH9\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestWETH.sol\":{\"keccak256\":\"0x72eaab74270627103011243f9c2d1e91ab18e234b08426981ad9da129c76797f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de33b645dd3cf368de9074ebddbf1a40ce697e6d320a330ca6f7bb5c2bc7d349\",\"dweb:/ipfs/Qmf9QyTZSBExDnqWFHbheZkuc8Uh8efjq5LamhniGqdgtn\"]}},\"version\":1}", - "bytecode": "0x60c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b50610115565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100bb57805160ff19168380011785556100e8565b828001600101855582156100e8579182015b828111156100e85782518255916020019190600101906100cd565b506100f49291506100f8565b5090565b61011291905b808211156100f457600081556001016100fe565b90565b6106f5806101246000396000f3fe6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461022257806370a082311461024d57806395d89b4114610280578063a9059cbb14610295578063d0e30db0146100af578063dd62ed3e146102ce576100af565b806306fdde03146100b7578063095ea7b31461014157806318160ddd1461018e57806323b872dd146101b55780632e1a7d4d146101f8576100af565b366100af576100ad610309565b005b6100ad610309565b3480156100c357600080fd5b506100cc610358565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101065781810151838201526020016100ee565b50505050905090810190601f1680156101335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014d57600080fd5b5061017a6004803603604081101561016457600080fd5b506001600160a01b0381351690602001356103e6565b604080519115158252519081900360200190f35b34801561019a57600080fd5b506101a361044c565b60408051918252519081900360200190f35b3480156101c157600080fd5b5061017a600480360360608110156101d857600080fd5b506001600160a01b03813581169160208101359091169060400135610450565b34801561020457600080fd5b506100ad6004803603602081101561021b57600080fd5b5035610584565b34801561022e57600080fd5b50610237610619565b6040805160ff9092168252519081900360200190f35b34801561025957600080fd5b506101a36004803603602081101561027057600080fd5b50356001600160a01b0316610622565b34801561028c57600080fd5b506100cc610634565b3480156102a157600080fd5b5061017a600480360360408110156102b857600080fd5b506001600160a01b03813516906020013561068e565b3480156102da57600080fd5b506101a3600480360360408110156102f157600080fd5b506001600160a01b03813581169160200135166106a2565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103de5780601f106103b3576101008083540402835291602001916103de565b820191906000526020600020905b8154815290600101906020018083116103c157829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b03831660009081526003602052604081205482111561047557600080fd5b6001600160a01b03841633148015906104b357506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b15610513576001600160a01b03841660009081526004602090815260408083203384529091529020548211156104e857600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b03808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105a057600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156105df573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103de5780601f106103b3576101008083540402835291602001916103de565b600061069b338484610450565b9392505050565b60046020908152600092835260408084209091529082529020548156fea2646970667358221220656960ed51ceeb98837f88334f94fa275f8bae235d2c1c5d54e882b8cfc0165964736f6c63430006090033", - "deployedBytecode": "0x6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461022257806370a082311461024d57806395d89b4114610280578063a9059cbb14610295578063d0e30db0146100af578063dd62ed3e146102ce576100af565b806306fdde03146100b7578063095ea7b31461014157806318160ddd1461018e57806323b872dd146101b55780632e1a7d4d146101f8576100af565b366100af576100ad610309565b005b6100ad610309565b3480156100c357600080fd5b506100cc610358565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101065781810151838201526020016100ee565b50505050905090810190601f1680156101335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014d57600080fd5b5061017a6004803603604081101561016457600080fd5b506001600160a01b0381351690602001356103e6565b604080519115158252519081900360200190f35b34801561019a57600080fd5b506101a361044c565b60408051918252519081900360200190f35b3480156101c157600080fd5b5061017a600480360360608110156101d857600080fd5b506001600160a01b03813581169160208101359091169060400135610450565b34801561020457600080fd5b506100ad6004803603602081101561021b57600080fd5b5035610584565b34801561022e57600080fd5b50610237610619565b6040805160ff9092168252519081900360200190f35b34801561025957600080fd5b506101a36004803603602081101561027057600080fd5b50356001600160a01b0316610622565b34801561028c57600080fd5b506100cc610634565b3480156102a157600080fd5b5061017a600480360360408110156102b857600080fd5b506001600160a01b03813516906020013561068e565b3480156102da57600080fd5b506101a3600480360360408110156102f157600080fd5b506001600160a01b03813581169160200135166106a2565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103de5780601f106103b3576101008083540402835291602001916103de565b820191906000526020600020905b8154815290600101906020018083116103c157829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b03831660009081526003602052604081205482111561047557600080fd5b6001600160a01b03841633148015906104b357506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b15610513576001600160a01b03841660009081526004602090815260408083203384529091529020548211156104e857600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b03808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105a057600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156105df573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103de5780601f106103b3576101008083540402835291602001916103de565b600061069b338484610450565b9392505050565b60046020908152600092835260408084209091529082529020548156fea2646970667358221220656960ed51ceeb98837f88334f94fa275f8bae235d2c1c5d54e882b8cfc0165964736f6c63430006090033", - "immutableReferences": {}, - "sourceMap": "124:36:19:-:0;103:1872;124:36;;103:1872;124:36;;;-1:-1:-1;;;124:36:19;;;;;;-1:-1:-1;;124:36:19;;:::i;:::-;-1:-1:-1;166:29:19;;;;;;;;;;;;;-1:-1:-1;;;166:29:19;;;;;;;;;;;;:::i;:::-;-1:-1:-1;201:26:19;;;-1:-1:-1;;201:26:19;225:2;201:26;;;103:1872;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;103:1872:19;;;-1:-1:-1;103:1872:19;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "103:1872:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;712:9;:7;:9::i;:::-;103:1872;;653:9;:7;:9::i;124:36::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1186:180;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1186:180:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1082:98;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1502:471;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1502:471:19;;;;;;;;;;;;;;;;;:::i;870:206::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:206:19;;:::i;201:26::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;494:44;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;494:44:19;-1:-1:-1;;;;;494:44:19;;:::i;166:29::-;;;;;;;;;;;;;:::i;1372:124::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1372:124:19;;;;;;;;:::i;544:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;544:64:19;;;;;;;;;;:::i;734:130::-;788:10;778:21;;;;:9;:21;;;;;;;;;:34;;803:9;778:34;;;;;;827:30;;;;;;;;;;;;;;;;;734:130::o;124:36::-;;;;;;;;;;;;;;;-1:-1:-1;;124:36:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1186:180::-;1271:10;1245:4;1261:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;1261:26:19;;;;;;;;;;;:32;;;1308:30;;;;;;;1245:4;;1261:26;;1271:10;;1308:30;;;;;;;;-1:-1:-1;1355:4:19;1186:180;;;;:::o;1082:98::-;1152:21;1082:98;:::o;1502:471::-;-1:-1:-1;;;;;1633:14:19;;1609:4;1633:14;;;:9;:14;;;;;;:21;-1:-1:-1;1633:21:19;1625:30;;;;;;-1:-1:-1;;;;;1670:17:19;;1677:10;1670:17;;;;:62;;-1:-1:-1;;;;;;1691:14:19;;;;;;:9;:14;;;;;;;;1706:10;1691:26;;;;;;;;-1:-1:-1;;1691:41:19;;1670:62;1666:182;;;-1:-1:-1;;;;;1756:14:19;;;;;;:9;:14;;;;;;;;1771:10;1756:26;;;;;;;;:33;-1:-1:-1;1756:33:19;1748:42;;;;;;-1:-1:-1;;;;;1804:14:19;;;;;;:9;:14;;;;;;;;1819:10;1804:26;;;;;;;:33;;;;;;;1666:182;-1:-1:-1;;;;;1858:14:19;;;;;;;:9;:14;;;;;;;;:21;;;;;;;1889:14;;;;;;;;;;:21;;;;;;1921:23;;;;;;;1889:14;;1921:23;;;;;;;;;;;-1:-1:-1;1962:4:19;1502:471;;;;;:::o;870:206::-;936:10;926:21;;;;:9;:21;;;;;;:28;-1:-1:-1;926:28:19;918:37;;;;;;975:10;965:21;;;;:9;:21;;;;;;:28;;;;;;;1003:24;;;;;;990:3;;1003:24;;965:21;1003:24;990:3;975:10;1003:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1042:27:19;;;;;;;;1053:10;;1042:27;;;;;;;;;;870:206;:::o;201:26::-;;;;;;:::o;494:44::-;;;;;;;;;;;;;:::o;166:29::-;;;;;;;;;;;;;;;-1:-1:-1;;166:29:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1372:124;1432:4;1455:34;1468:10;1480:3;1485;1455:12;:34::i;:::-;1448:41;1372:124;-1:-1:-1;;;1372:124:19:o;544:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\n\n\ncontract WETH9 {\n string public name = \"Wrapped Ether\";\n string public symbol = \"WETH\";\n uint8 public decimals = 18;\n\n event Approval(address indexed src, address indexed guy, uint256 wad);\n event Transfer(address indexed src, address indexed dst, uint256 wad);\n event Deposit(address indexed dst, uint256 wad);\n event Withdrawal(address indexed src, uint256 wad);\n\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n fallback() external payable {\n deposit();\n }\n\n receive() external payable {\n deposit();\n }\n\n function deposit() public payable {\n balanceOf[msg.sender] += msg.value;\n emit Deposit(msg.sender, msg.value);\n }\n\n function withdraw(uint256 wad) public {\n require(balanceOf[msg.sender] >= wad);\n balanceOf[msg.sender] -= wad;\n msg.sender.transfer(wad);\n emit Withdrawal(msg.sender, wad);\n }\n\n function totalSupply() public view returns (uint256) {\n return address(this).balance;\n }\n\n function approve(address guy, uint256 wad) public returns (bool) {\n allowance[msg.sender][guy] = wad;\n emit Approval(msg.sender, guy, wad);\n return true;\n }\n\n function transfer(address dst, uint256 wad) public returns (bool) {\n return transferFrom(msg.sender, dst, wad);\n }\n\n function transferFrom(\n address src,\n address dst,\n uint256 wad\n ) public returns (bool) {\n require(balanceOf[src] >= wad);\n\n if (src != msg.sender && allowance[src][msg.sender] != uint256(-1)) {\n require(allowance[src][msg.sender] >= wad);\n allowance[src][msg.sender] -= wad;\n }\n\n balanceOf[src] -= wad;\n balanceOf[dst] += wad;\n\n Transfer(src, dst, wad);\n\n return true;\n }\n}\n", - "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestWETH.sol", - "ast": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestWETH.sol", - "exportedSymbols": { - "WETH9": [ - 3952 - ] - }, - "id": 3953, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3699, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:19" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3952, - "linearizedBaseContracts": [ - 3952 - ], - "name": "WETH9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "06fdde03", - "id": 3702, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "124:36:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3700, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "124:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "57726170706564204574686572", - "id": 3701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "145:15:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_00cd3d46df44f2cbb950cf84eb2e92aa2ddd23195b1a009173ea59a063357ed3", - "typeString": "literal_string \"Wrapped Ether\"" - }, - "value": "Wrapped Ether" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 3705, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "166:29:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3703, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "166:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "57455448", - "id": 3704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "189:6:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8", - "typeString": "literal_string \"WETH\"" - }, - "value": "WETH" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 3708, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "201:26:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3706, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "201:5:19", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "225:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 3716, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 3715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3710, - "indexed": true, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3716, - "src": "249:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3709, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "249:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3712, - "indexed": true, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3716, - "src": "270:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3711, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "270:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3714, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3716, - "src": "291:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3713, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "291:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "248:55:19" - }, - "src": "234:70:19" - }, - { - "anonymous": false, - "documentation": null, - "id": 3724, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 3723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3718, - "indexed": true, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3724, - "src": "324:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3720, - "indexed": true, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3724, - "src": "345:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "345:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3722, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3724, - "src": "366:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "366:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:55:19" - }, - "src": "309:70:19" - }, - { - "anonymous": false, - "documentation": null, - "id": 3730, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 3729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3726, - "indexed": true, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3730, - "src": "398:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "398:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3728, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3730, - "src": "419:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "419:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "397:34:19" - }, - "src": "384:48:19" - }, - { - "anonymous": false, - "documentation": null, - "id": 3736, - "name": "Withdrawal", - "nodeType": "EventDefinition", - "parameters": { - "id": 3735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3732, - "indexed": true, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3736, - "src": "454:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3731, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "454:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3734, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3736, - "src": "475:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "475:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "453:34:19" - }, - "src": "437:51:19" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 3740, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "494:44:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3739, - "keyType": { - "id": 3737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "502:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "494:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "513:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 3746, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "544:64:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3745, - "keyType": { - "id": 3741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "552:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "544:47:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3744, - "keyType": { - "id": 3742, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "571:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "563:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3752, - "nodeType": "Block", - "src": "643:26:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3749, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3779, - "src": "653:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 3750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "653:9:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3751, - "nodeType": "ExpressionStatement", - "src": "653:9:19" - } - ] - }, - "documentation": null, - "id": 3753, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3747, - "nodeType": "ParameterList", - "parameters": [], - "src": "623:2:19" - }, - "returnParameters": { - "id": 3748, - "nodeType": "ParameterList", - "parameters": [], - "src": "643:0:19" - }, - "scope": 3952, - "src": "615:54:19", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3759, - "nodeType": "Block", - "src": "702:26:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3756, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3779, - "src": "712:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "712:9:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3758, - "nodeType": "ExpressionStatement", - "src": "712:9:19" - } - ] - }, - "documentation": null, - "id": 3760, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3754, - "nodeType": "ParameterList", - "parameters": [], - "src": "682:2:19" - }, - "returnParameters": { - "id": 3755, - "nodeType": "ParameterList", - "parameters": [], - "src": "702:0:19" - }, - "scope": 3952, - "src": "675:53:19", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3778, - "nodeType": "Block", - "src": "768:96:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3763, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "778:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3766, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3764, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "788:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "788:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "778:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3767, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "803:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "803:9:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "778:34:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3770, - "nodeType": "ExpressionStatement", - "src": "778:34:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3772, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "835:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "835:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3774, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "847:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "847:9:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3771, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3730, - "src": "827:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "827:30:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3777, - "nodeType": "EmitStatement", - "src": "822:35:19" - } - ] - }, - "documentation": null, - "functionSelector": "d0e30db0", - "id": 3779, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3761, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:19" - }, - "returnParameters": { - "id": 3762, - "nodeType": "ParameterList", - "parameters": [], - "src": "768:0:19" - }, - "scope": 3952, - "src": "734:130:19", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3814, - "nodeType": "Block", - "src": "908:168:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3785, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "926:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3788, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "936:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "936:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "926:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3789, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "951:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "926:28:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3784, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "918:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:37:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3792, - "nodeType": "ExpressionStatement", - "src": "918:37:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3793, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "965:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3796, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "975:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "975:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "965:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3797, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "990:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "965:28:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "965:28:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3805, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "1023:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3800, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1003:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1003:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1003:19:19", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1003:24:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3807, - "nodeType": "ExpressionStatement", - "src": "1003:24:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3809, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1053:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1053:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3811, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "1065:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3808, - "name": "Withdrawal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "1042:10:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1042:27:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3813, - "nodeType": "EmitStatement", - "src": "1037:32:19" - } - ] - }, - "documentation": null, - "functionSelector": "2e1a7d4d", - "id": 3815, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3781, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3815, - "src": "888:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "888:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "887:13:19" - }, - "returnParameters": { - "id": 3783, - "nodeType": "ParameterList", - "parameters": [], - "src": "908:0:19" - }, - "scope": 3952, - "src": "870:206:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3826, - "nodeType": "Block", - "src": "1135:45:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3822, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1160:4:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WETH9_$3952", - "typeString": "contract WETH9" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WETH9_$3952", - "typeString": "contract WETH9" - } - ], - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1152:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1152:7:19", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1152:13:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1152:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3819, - "id": 3825, - "nodeType": "Return", - "src": "1145:28:19" - } - ] - }, - "documentation": null, - "functionSelector": "18160ddd", - "id": 3827, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3816, - "nodeType": "ParameterList", - "parameters": [], - "src": "1102:2:19" - }, - "returnParameters": { - "id": 3819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3818, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3827, - "src": "1126:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1125:9:19" - }, - "scope": 3952, - "src": "1082:98:19", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3854, - "nodeType": "Block", - "src": "1251:115:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3836, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1261:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3840, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3837, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1271:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1271:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1261:21:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3841, - "indexExpression": { - "argumentTypes": null, - "id": 3839, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3829, - "src": "1283:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1261:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3842, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3831, - "src": "1290:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1261:32:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3844, - "nodeType": "ExpressionStatement", - "src": "1261:32:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3846, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1317:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1317:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3848, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3829, - "src": "1329:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3849, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3831, - "src": "1334:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3845, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3716, - "src": "1308:8:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1308:30:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3851, - "nodeType": "EmitStatement", - "src": "1303:35:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1355:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3835, - "id": 3853, - "nodeType": "Return", - "src": "1348:11:19" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 3855, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3829, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3855, - "src": "1203:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1203:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3831, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3855, - "src": "1216:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1216:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1202:26:19" - }, - "returnParameters": { - "id": 3835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3834, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3855, - "src": "1245:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3833, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1245:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1244:6:19" - }, - "scope": 3952, - "src": "1186:180:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3871, - "nodeType": "Block", - "src": "1438:58:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3865, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1468:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1468:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3867, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3857, - "src": "1480:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3868, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3859, - "src": "1485:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3864, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3951, - "src": "1455:12:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 3869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1455:34:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3863, - "id": 3870, - "nodeType": "Return", - "src": "1448:41:19" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 3872, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3857, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3872, - "src": "1390:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1390:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3859, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3872, - "src": "1403:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1403:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1389:26:19" - }, - "returnParameters": { - "id": 3863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3862, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3872, - "src": "1432:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1432:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1431:6:19" - }, - "scope": 3952, - "src": "1372:124:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3950, - "nodeType": "Block", - "src": "1615:358:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3884, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "1633:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3886, - "indexExpression": { - "argumentTypes": null, - "id": 3885, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1643:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1633:14:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3887, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1651:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1633:21:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3883, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1625:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1625:30:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3890, - "nodeType": "ExpressionStatement", - "src": "1625:30:19" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3891, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1670:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3892, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1677:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1677:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1670:17:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3895, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1691:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3897, - "indexExpression": { - "argumentTypes": null, - "id": 3896, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1701:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1691:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3900, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3898, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1706:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1706:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1691:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1729:2:19", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1730:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 3902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1721:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1721:7:19", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:11:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1691:41:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1670:62:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3929, - "nodeType": "IfStatement", - "src": "1666:182:19", - "trueBody": { - "id": 3928, - "nodeType": "Block", - "src": "1734:114:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3909, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1756:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3911, - "indexExpression": { - "argumentTypes": null, - "id": 3910, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1766:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1756:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3914, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3912, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1771:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1771:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1756:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3915, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1786:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1756:33:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3908, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1748:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1748:42:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3918, - "nodeType": "ExpressionStatement", - "src": "1748:42:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3919, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1804:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3923, - "indexExpression": { - "argumentTypes": null, - "id": 3920, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1814:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1804:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3924, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3921, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1819:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1819:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1804:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3925, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1834:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1804:33:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3927, - "nodeType": "ExpressionStatement", - "src": "1804:33:19" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3930, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "1858:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3932, - "indexExpression": { - "argumentTypes": null, - "id": 3931, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1868:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1858:14:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3933, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1876:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1858:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3935, - "nodeType": "ExpressionStatement", - "src": "1858:21:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3936, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "1889:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3938, - "indexExpression": { - "argumentTypes": null, - "id": 3937, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3876, - "src": "1899:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1889:14:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 3939, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1907:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1889:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3941, - "nodeType": "ExpressionStatement", - "src": "1889:21:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3943, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1930:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3944, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3876, - "src": "1935:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3945, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1940:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3942, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3724, - "src": "1921:8:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1921:23:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3947, - "nodeType": "ExpressionStatement", - "src": "1921:23:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1962:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3882, - "id": 3949, - "nodeType": "Return", - "src": "1955:11:19" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 3951, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3874, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1533:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1533:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3876, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1554:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1554:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3878, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1575:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3877, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1575:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1523:69:19" - }, - "returnParameters": { - "id": 3882, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3881, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1609:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3880, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1609:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1608:6:19" - }, - "scope": 3952, - "src": "1502:471:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3953, - "src": "103:1872:19" - } - ], - "src": "78:1898:19" - }, - "legacyAST": { - "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/TestWETH.sol", - "exportedSymbols": { - "WETH9": [ - 3952 - ] - }, - "id": 3953, - "license": "Apache-2.0", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3699, - "literals": [ - "solidity", - "0.6", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "78:22:19" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3952, - "linearizedBaseContracts": [ - 3952 - ], - "name": "WETH9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "06fdde03", - "id": 3702, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "124:36:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3700, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "124:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "57726170706564204574686572", - "id": 3701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "145:15:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_00cd3d46df44f2cbb950cf84eb2e92aa2ddd23195b1a009173ea59a063357ed3", - "typeString": "literal_string \"Wrapped Ether\"" - }, - "value": "Wrapped Ether" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 3705, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "166:29:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3703, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "166:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "57455448", - "id": 3704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "189:6:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8", - "typeString": "literal_string \"WETH\"" - }, - "value": "WETH" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 3708, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "201:26:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3706, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "201:5:19", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "225:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 3716, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 3715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3710, - "indexed": true, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3716, - "src": "249:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3709, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "249:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3712, - "indexed": true, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3716, - "src": "270:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3711, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "270:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3714, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3716, - "src": "291:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3713, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "291:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "248:55:19" - }, - "src": "234:70:19" - }, - { - "anonymous": false, - "documentation": null, - "id": 3724, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 3723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3718, - "indexed": true, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3724, - "src": "324:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3720, - "indexed": true, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3724, - "src": "345:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "345:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3722, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3724, - "src": "366:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "366:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:55:19" - }, - "src": "309:70:19" - }, - { - "anonymous": false, - "documentation": null, - "id": 3730, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 3729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3726, - "indexed": true, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3730, - "src": "398:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3725, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "398:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3728, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3730, - "src": "419:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "419:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "397:34:19" - }, - "src": "384:48:19" - }, - { - "anonymous": false, - "documentation": null, - "id": 3736, - "name": "Withdrawal", - "nodeType": "EventDefinition", - "parameters": { - "id": 3735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3732, - "indexed": true, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3736, - "src": "454:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3731, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "454:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3734, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3736, - "src": "475:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "475:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "453:34:19" - }, - "src": "437:51:19" - }, - { - "constant": false, - "functionSelector": "70a08231", - "id": 3740, - "mutability": "mutable", - "name": "balanceOf", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "494:44:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3739, - "keyType": { - "id": 3737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "502:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "494:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "513:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd62ed3e", - "id": 3746, - "mutability": "mutable", - "name": "allowance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3952, - "src": "544:64:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3745, - "keyType": { - "id": 3741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "552:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "544:47:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3744, - "keyType": { - "id": 3742, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "571:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "563:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3752, - "nodeType": "Block", - "src": "643:26:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3749, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3779, - "src": "653:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 3750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "653:9:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3751, - "nodeType": "ExpressionStatement", - "src": "653:9:19" - } - ] - }, - "documentation": null, - "id": 3753, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3747, - "nodeType": "ParameterList", - "parameters": [], - "src": "623:2:19" - }, - "returnParameters": { - "id": 3748, - "nodeType": "ParameterList", - "parameters": [], - "src": "643:0:19" - }, - "scope": 3952, - "src": "615:54:19", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3759, - "nodeType": "Block", - "src": "702:26:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3756, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3779, - "src": "712:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "712:9:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3758, - "nodeType": "ExpressionStatement", - "src": "712:9:19" - } - ] - }, - "documentation": null, - "id": 3760, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3754, - "nodeType": "ParameterList", - "parameters": [], - "src": "682:2:19" - }, - "returnParameters": { - "id": 3755, - "nodeType": "ParameterList", - "parameters": [], - "src": "702:0:19" - }, - "scope": 3952, - "src": "675:53:19", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3778, - "nodeType": "Block", - "src": "768:96:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3763, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "778:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3766, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3764, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "788:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "788:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "778:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3767, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "803:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "803:9:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "778:34:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3770, - "nodeType": "ExpressionStatement", - "src": "778:34:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3772, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "835:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "835:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3774, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "847:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "847:9:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3771, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3730, - "src": "827:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "827:30:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3777, - "nodeType": "EmitStatement", - "src": "822:35:19" - } - ] - }, - "documentation": null, - "functionSelector": "d0e30db0", - "id": 3779, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3761, - "nodeType": "ParameterList", - "parameters": [], - "src": "750:2:19" - }, - "returnParameters": { - "id": 3762, - "nodeType": "ParameterList", - "parameters": [], - "src": "768:0:19" - }, - "scope": 3952, - "src": "734:130:19", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3814, - "nodeType": "Block", - "src": "908:168:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3785, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "926:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3788, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "936:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "936:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "926:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3789, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "951:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "926:28:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3784, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "918:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:37:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3792, - "nodeType": "ExpressionStatement", - "src": "918:37:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3793, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "965:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3796, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "975:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "975:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "965:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3797, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "990:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "965:28:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "965:28:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3805, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "1023:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3800, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1003:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1003:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1003:19:19", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1003:24:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3807, - "nodeType": "ExpressionStatement", - "src": "1003:24:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3809, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1053:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1053:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3811, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "1065:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3808, - "name": "Withdrawal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "1042:10:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1042:27:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3813, - "nodeType": "EmitStatement", - "src": "1037:32:19" - } - ] - }, - "documentation": null, - "functionSelector": "2e1a7d4d", - "id": 3815, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3781, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3815, - "src": "888:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "888:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "887:13:19" - }, - "returnParameters": { - "id": 3783, - "nodeType": "ParameterList", - "parameters": [], - "src": "908:0:19" - }, - "scope": 3952, - "src": "870:206:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3826, - "nodeType": "Block", - "src": "1135:45:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3822, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1160:4:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WETH9_$3952", - "typeString": "contract WETH9" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WETH9_$3952", - "typeString": "contract WETH9" - } - ], - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1152:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1152:7:19", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1152:13:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1152:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3819, - "id": 3825, - "nodeType": "Return", - "src": "1145:28:19" - } - ] - }, - "documentation": null, - "functionSelector": "18160ddd", - "id": 3827, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3816, - "nodeType": "ParameterList", - "parameters": [], - "src": "1102:2:19" - }, - "returnParameters": { - "id": 3819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3818, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3827, - "src": "1126:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1125:9:19" - }, - "scope": 3952, - "src": "1082:98:19", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3854, - "nodeType": "Block", - "src": "1251:115:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3836, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1261:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3840, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3837, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1271:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1271:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1261:21:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3841, - "indexExpression": { - "argumentTypes": null, - "id": 3839, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3829, - "src": "1283:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1261:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3842, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3831, - "src": "1290:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1261:32:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3844, - "nodeType": "ExpressionStatement", - "src": "1261:32:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3846, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1317:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1317:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3848, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3829, - "src": "1329:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3849, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3831, - "src": "1334:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3845, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3716, - "src": "1308:8:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1308:30:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3851, - "nodeType": "EmitStatement", - "src": "1303:35:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1355:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3835, - "id": 3853, - "nodeType": "Return", - "src": "1348:11:19" - } - ] - }, - "documentation": null, - "functionSelector": "095ea7b3", - "id": 3855, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3829, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3855, - "src": "1203:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1203:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3831, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3855, - "src": "1216:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1216:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1202:26:19" - }, - "returnParameters": { - "id": 3835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3834, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3855, - "src": "1245:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3833, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1245:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1244:6:19" - }, - "scope": 3952, - "src": "1186:180:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3871, - "nodeType": "Block", - "src": "1438:58:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3865, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1468:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1468:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3867, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3857, - "src": "1480:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3868, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3859, - "src": "1485:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3864, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3951, - "src": "1455:12:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 3869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1455:34:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3863, - "id": 3870, - "nodeType": "Return", - "src": "1448:41:19" - } - ] - }, - "documentation": null, - "functionSelector": "a9059cbb", - "id": 3872, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3857, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3872, - "src": "1390:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1390:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3859, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3872, - "src": "1403:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1403:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1389:26:19" - }, - "returnParameters": { - "id": 3863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3862, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3872, - "src": "1432:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1432:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1431:6:19" - }, - "scope": 3952, - "src": "1372:124:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3950, - "nodeType": "Block", - "src": "1615:358:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3884, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "1633:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3886, - "indexExpression": { - "argumentTypes": null, - "id": 3885, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1643:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1633:14:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3887, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1651:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1633:21:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3883, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1625:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1625:30:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3890, - "nodeType": "ExpressionStatement", - "src": "1625:30:19" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3891, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1670:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3892, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1677:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1677:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1670:17:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3895, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1691:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3897, - "indexExpression": { - "argumentTypes": null, - "id": 3896, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1701:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1691:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3900, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3898, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1706:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1706:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1691:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1729:2:19", - "subExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1730:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_minus_1_by_1", - "typeString": "int_const -1" - } - ], - "id": 3902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1721:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1721:7:19", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:11:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1691:41:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1670:62:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3929, - "nodeType": "IfStatement", - "src": "1666:182:19", - "trueBody": { - "id": 3928, - "nodeType": "Block", - "src": "1734:114:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3909, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1756:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3911, - "indexExpression": { - "argumentTypes": null, - "id": 3910, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1766:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1756:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3914, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3912, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1771:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1771:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1756:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3915, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1786:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1756:33:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3908, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1748:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1748:42:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3918, - "nodeType": "ExpressionStatement", - "src": "1748:42:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3919, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "1804:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3923, - "indexExpression": { - "argumentTypes": null, - "id": 3920, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1814:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1804:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3924, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3921, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1819:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1819:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1804:26:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3925, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1834:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1804:33:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3927, - "nodeType": "ExpressionStatement", - "src": "1804:33:19" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3930, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "1858:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3932, - "indexExpression": { - "argumentTypes": null, - "id": 3931, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1868:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1858:14:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3933, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1876:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1858:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3935, - "nodeType": "ExpressionStatement", - "src": "1858:21:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3936, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3740, - "src": "1889:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3938, - "indexExpression": { - "argumentTypes": null, - "id": 3937, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3876, - "src": "1899:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1889:14:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 3939, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1907:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1889:21:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3941, - "nodeType": "ExpressionStatement", - "src": "1889:21:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3943, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3874, - "src": "1930:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3944, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3876, - "src": "1935:3:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3945, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3878, - "src": "1940:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3942, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3724, - "src": "1921:8:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1921:23:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3947, - "nodeType": "ExpressionStatement", - "src": "1921:23:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1962:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3882, - "id": 3949, - "nodeType": "Return", - "src": "1955:11:19" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 3951, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3874, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1533:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1533:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3876, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1554:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1554:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3878, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1575:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3877, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1575:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1523:69:19" - }, - "returnParameters": { - "id": 3882, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3881, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3951, - "src": "1609:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3880, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1609:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1608:6:19" - }, - "scope": 3952, - "src": "1502:471:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3953, - "src": "103:1872:19" - } - ], - "src": "78:1898:19" - }, - "compiler": { - "name": "solc", - "version": "0.6.9+commit.3e3065ac.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.3", - "updatedAt": "2020-11-06T08:03:35.525Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/contracts/DODOPrivatePool/impl/DPPStorage.sol b/contracts/DODOPrivatePool/impl/DPPStorage.sol index db6f926..62408dd 100644 --- a/contracts/DODOPrivatePool/impl/DPPStorage.sol +++ b/contracts/DODOPrivatePool/impl/DPPStorage.sol @@ -16,7 +16,7 @@ import {IPermissionManager} from "../../lib/PermissionManager.sol"; import {IExternalValue} from "../../lib/ExternalValue.sol"; import {IFeeRateModel} from "../../intf/IFeeRateModel.sol"; import {IERC20} from "../../intf/IERC20.sol"; -import {RState} from "../../lib/PMMPricing.sol"; +import {PMMPricing} from "../../lib/PMMPricing.sol"; /** * @title Storage @@ -49,7 +49,7 @@ contract DPPStorage is InitializableOwnable, ReentrancyGuard { uint256 public _QUOTE_RESERVE_; uint256 public _BASE_TARGET_; uint256 public _QUOTE_TARGET_; - RState public _RState_; + PMMPricing.RState public _RState_; // ============ Variables for Pricing ============ diff --git a/contracts/DODOPrivatePool/impl/DPPTrader.sol b/contracts/DODOPrivatePool/impl/DPPTrader.sol index 0b64e71..b3119c5 100644 --- a/contracts/DODOPrivatePool/impl/DPPTrader.sol +++ b/contracts/DODOPrivatePool/impl/DPPTrader.sol @@ -11,7 +11,7 @@ pragma experimental ABIEncoderV2; import {DPPVault} from "./DPPVault.sol"; import {SafeMath} from "../../lib/SafeMath.sol"; import {DecimalMath} from "../../lib/DecimalMath.sol"; -import {RState, PMMState, PMMPricing} from "../../lib/PMMPricing.sol"; +import {PMMPricing} from "../../lib/PMMPricing.sol"; import {IDODOCallee} from "../../intf/IDODOCallee.sol"; contract DPPTrader is DPPVault { @@ -49,7 +49,7 @@ contract DPPTrader is DPPVault { uint256 baseInput = getBaseInput(); uint256 mtFee; uint256 newBaseTarget; - RState newRState; + PMMPricing.RState newRState; (receiveQuoteAmount, mtFee, newRState, newBaseTarget) = querySellBase(tx.origin, baseInput); _transferQuoteOut(to, receiveQuoteAmount); @@ -76,7 +76,7 @@ contract DPPTrader is DPPVault { uint256 quoteInput = getQuoteInput(); uint256 mtFee; uint256 newQuoteTarget; - RState newRState; + PMMPricing.RState newRState; (receiveBaseAmount, mtFee, newRState, newQuoteTarget) = querySellQuote( tx.origin, quoteInput @@ -125,7 +125,7 @@ contract DPPTrader is DPPVault { ( uint256 receiveBaseAmount, uint256 mtFee, - RState newRState, + PMMPricing.RState newRState, uint256 newQuoteTarget ) = querySellQuote(tx.origin, quoteBalance.sub(_QUOTE_RESERVE_)); // revert if quoteBalance= minReceive, "RECEIVE_NOT_ENOUGH"); return receiveAmount; } @@ -37,12 +39,12 @@ contract SmartRoute is Ownable { uint256 quoteAmount, uint256 minReceive ) public returns (uint256 receiveAmount) { - IERC20(DVM(DVMAddress)._QUOTE_TOKEN_()).safeTransferFrom( + IERC20(IDVM(DVMAddress)._QUOTE_TOKEN_()).safeTransferFrom( msg.sender, DVMAddress, quoteAmount ); - receiveAmount = DVM(DVMAddress).sellQuote(to); + receiveAmount = IDVM(DVMAddress).sellQuote(to); require(receiveAmount >= minReceive, "RECEIVE_NOT_ENOUGU"); return receiveAmount; } @@ -53,10 +55,9 @@ contract SmartRoute is Ownable { uint256 baseAmount, uint256 quoteAmount ) public returns (uint256 shares) { - address vault = DVMAddress; uint256 adjustedBaseAmount; uint256 adjustedQuoteAmount; - (uint256 baseReserve, uint256 quoteReserve) = DVM(DVMAddress).getVaultReserve(); + (uint256 baseReserve, uint256 quoteReserve) = IDVM(DVMAddress).getVaultReserve(); if (quoteReserve == 0 && baseReserve == 0) { adjustedBaseAmount = baseAmount; @@ -80,18 +81,18 @@ contract SmartRoute is Ownable { } } - IERC20(DVM(DVMAddress)._BASE_TOKEN_()).safeTransferFrom( + IERC20(IDVM(DVMAddress)._BASE_TOKEN_()).safeTransferFrom( msg.sender, - vault, + DVMAddress, adjustedBaseAmount ); - IERC20(DVM(DVMAddress)._QUOTE_TOKEN_()).safeTransferFrom( + IERC20(IDVM(DVMAddress)._QUOTE_TOKEN_()).safeTransferFrom( msg.sender, - vault, + DVMAddress, adjustedQuoteAmount ); - shares = DVM(DVMAddress).buyShares(to); + shares = IDVM(DVMAddress).buyShares(to); return shares; } diff --git a/contracts/lib/ExternalValue.sol b/contracts/lib/ExternalValue.sol index d229253..641dcf4 100644 --- a/contracts/lib/ExternalValue.sol +++ b/contracts/lib/ExternalValue.sol @@ -9,6 +9,7 @@ pragma solidity 0.6.9; pragma experimental ABIEncoderV2; import {Ownable} from "./Ownable.sol"; +import {InitializableOwnable} from "./InitializableOwnable.sol"; interface IExternalValue { function set(uint256) external; @@ -16,10 +17,10 @@ interface IExternalValue { function get() external view returns (uint256); } -contract ExternalValue is IExternalValue, Ownable { +contract ExternalValue is IExternalValue, InitializableOwnable { uint256 public _VALUE_; - function set(uint256 value) external override { + function set(uint256 value) external override onlyOwner { _VALUE_ = value; } diff --git a/contracts/lib/GasPriceSource.sol b/contracts/lib/GasPriceSource.sol deleted file mode 100644 index d1a71a5..0000000 --- a/contracts/lib/GasPriceSource.sol +++ /dev/null @@ -1,29 +0,0 @@ -/* - - Copyright 2020 DODO ZOO. - SPDX-License-Identifier: Apache-2.0 - -*/ - -pragma solidity 0.6.9; -pragma experimental ABIEncoderV2; - -import {Ownable} from "./Ownable.sol"; - -interface IGasPriceSource { - function setGasPrice(uint256) external; - - function getGasPrice() external view returns (uint256); -} - -contract GasPriceSource is IGasPriceSource, Ownable { - uint256 public _GAS_PRICE_; - - function setGasPrice(uint256 gasPrice) external override { - _GAS_PRICE_ = gasPrice; - } - - function getGasPrice() external override view returns (uint256) { - return _GAS_PRICE_; - } -} diff --git a/contracts/lib/PMMPricing.sol b/contracts/lib/PMMPricing.sol index 69ce049..9cabcb1 100644 --- a/contracts/lib/PMMPricing.sol +++ b/contracts/lib/PMMPricing.sol @@ -19,23 +19,23 @@ import {DODOMath} from "../lib/DODOMath.sol"; * @notice DODO Pricing model */ -enum RState {ONE, ABOVE_ONE, BELOW_ONE} - -struct PMMState { - uint256 i; - uint256 K; - uint256 B; - uint256 Q; - uint256 B0; - uint256 Q0; - RState R; -} - library PMMPricing { using SafeMath for uint256; + enum RState {ONE, ABOVE_ONE, BELOW_ONE} + + struct PMMState { + uint256 i; + uint256 K; + uint256 B; + uint256 Q; + uint256 B0; + uint256 Q0; + RState R; + } + function sellBaseToken(PMMState memory state, uint256 payBaseAmount) - public + internal pure returns (uint256 receiveQuoteAmount, RState newR) { @@ -80,7 +80,7 @@ library PMMPricing { } function sellQuoteToken(PMMState memory state, uint256 payQuoteAmount) - public + internal pure returns (uint256 receiveBaseAmount, RState newR) { @@ -214,7 +214,7 @@ library PMMPricing { // ============ Helper functions ============ // todo 我不确定这个函数是不是能改state的状态 - function adjustedTarget(PMMState memory state) public pure { + function adjustedTarget(PMMState memory state) internal pure { if (state.R == RState.BELOW_ONE) { uint256 fairAmount = DecimalMath.mulFloor(state.B.sub(state.B0), state.i); state.Q0 = DODOMath._SolveQuadraticFunctionForTarget(state.B, state.K, fairAmount); @@ -224,7 +224,7 @@ library PMMPricing { } } - function getMidPrice(PMMState memory state) public pure returns (uint256 midPrice) { + function getMidPrice(PMMState memory state) internal pure returns (uint256 midPrice) { if (state.R == RState.BELOW_ONE) { uint256 R = DecimalMath.divFloor(state.Q0.mul(state.Q0).div(state.Q), state.Q); R = DecimalMath.ONE.sub(state.K).add(DecimalMath.mul(state.K, R)); diff --git a/deploy-detail.txt b/deploy-detail.txt index 0f0c76c..e69de29 100644 --- a/deploy-detail.txt +++ b/deploy-detail.txt @@ -1,8 +0,0 @@ -==================================================== -network type: live -Deploy time: 2020/11/16 上午10:26:34 -Deploy type: Smart Route -SmartApprove Address: 0xe380Ad3181A69BF92133D2feb609867c4adC61eA -DODOSellHelper Address: 0x533da777aedce766ceae696bf90f8541a4ba80eb -SmartSwap Address: 0xcD8392A57ED2fBD6440037E52F176c26dEFc0ba4 -SmartApprovce setSmartSwap tx: 0x35eccc657ee0d473b6e58324123d3da568ce12389fedff914a8dada563b35b3a diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js index 3439329..16a7ba5 100644 --- a/migrations/1_initial_migration.js +++ b/migrations/1_initial_migration.js @@ -1,5 +1,5 @@ const Migrations = artifacts.require("Migrations"); module.exports = function (deployer) { - // deployer.deploy(Migrations); + deployer.deploy(Migrations); }; diff --git a/test/DVM/funding.test.ts b/test/DVM/funding.test.ts index 3fa01fc..c3ca180 100644 --- a/test/DVM/funding.test.ts +++ b/test/DVM/funding.test.ts @@ -19,8 +19,8 @@ let trader: string; async function init(ctx: DVMContext): Promise { lp = ctx.SpareAccounts[0]; trader = ctx.SpareAccounts[1]; - await ctx.approveRoute(lp); - await ctx.approveRoute(trader); + await ctx.approveProxy(lp); + await ctx.approveProxy(trader); await ctx.mintTestToken(lp, decimalStr("10"), decimalStr("1000")); await ctx.mintTestToken(trader, decimalStr("10"), decimalStr("1000")); @@ -47,7 +47,7 @@ describe("Funding", () => { it("buy shares from init states", async () => { - await logGas(ctx.Route.methods + await logGas(ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("0")) , ctx.sendParam(lp), "buy shares"); @@ -74,7 +74,7 @@ describe("Funding", () => { }); it("buy shares from init states with quote != 0", async () => { - await ctx.Route.methods + await ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("100")) .send(ctx.sendParam(lp)); assert.equal(await ctx.Vault.methods.balanceOf(lp).call(), decimalStr("10")) @@ -82,16 +82,16 @@ describe("Funding", () => { }) it("buy shares with balanced input", async () => { - await ctx.Route.methods + await ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("0")) .send(ctx.sendParam(lp)); - await ctx.Route.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")).send(ctx.sendParam(trader)) + await ctx.DVMProxy.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")).send(ctx.sendParam(trader)) var vaultBaseBalance = new BigNumber(await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call()) var vaultQuoteBalance = new BigNumber(await ctx.QUOTE.methods.balanceOf(ctx.Vault.options.address).call()) var increaseRatio = new BigNumber("0.1") - await ctx.Route.methods.depositToDVM(ctx.DVM.options.address, trader, vaultBaseBalance.multipliedBy(increaseRatio).toFixed(0), vaultQuoteBalance.multipliedBy(increaseRatio).toFixed(0)).send(ctx.sendParam(trader)) + await ctx.DVMProxy.methods.depositToDVM(ctx.DVM.options.address, trader, vaultBaseBalance.multipliedBy(increaseRatio).toFixed(0), vaultQuoteBalance.multipliedBy(increaseRatio).toFixed(0)).send(ctx.sendParam(trader)) assert.equal( await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call(), @@ -106,15 +106,15 @@ describe("Funding", () => { }) it("buy shares with unbalanced input (less quote)", async () => { - await ctx.Route.methods + await ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("0")) .send(ctx.sendParam(lp)); - await ctx.Route.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")).send(ctx.sendParam(trader)) + await ctx.DVMProxy.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")).send(ctx.sendParam(trader)) var vaultBaseBalance = new BigNumber(await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call()) var vaultQuoteBalance = new BigNumber(await ctx.QUOTE.methods.balanceOf(ctx.Vault.options.address).call()) var increaseRatio = new BigNumber("0.1") - await ctx.Route.methods.depositToDVM( + await ctx.DVMProxy.methods.depositToDVM( ctx.DVM.options.address, trader, vaultBaseBalance.multipliedBy(increaseRatio).toFixed(0), @@ -124,15 +124,15 @@ describe("Funding", () => { }) it("buy shares with unbalanced input (less base)", async () => { - await ctx.Route.methods + await ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("0")) .send(ctx.sendParam(lp)); - await ctx.Route.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")).send(ctx.sendParam(trader)) + await ctx.DVMProxy.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")).send(ctx.sendParam(trader)) var vaultBaseBalance = new BigNumber(await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call()) var vaultQuoteBalance = new BigNumber(await ctx.QUOTE.methods.balanceOf(ctx.Vault.options.address).call()) var increaseRatio = new BigNumber("0.1") - await ctx.Route.methods.depositToDVM( + await ctx.DVMProxy.methods.depositToDVM( ctx.DVM.options.address, trader, vaultBaseBalance.multipliedBy(increaseRatio).div(2).toFixed(0), @@ -144,7 +144,7 @@ describe("Funding", () => { describe("sell shares", () => { it.only("sell shares", async () => { - await ctx.Route.methods + await ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("100")) .send(ctx.sendParam(lp)); var vaultShares = await ctx.Vault.methods.balanceOf(lp).call() diff --git a/test/DVM/trader.test.ts b/test/DVM/trader.test.ts index 25bfecc..3390132 100644 --- a/test/DVM/trader.test.ts +++ b/test/DVM/trader.test.ts @@ -18,18 +18,16 @@ let trader: string; async function init(ctx: DVMContext): Promise { lp = ctx.SpareAccounts[0]; trader = ctx.SpareAccounts[1]; - await ctx.approveRoute(lp); - await ctx.approveRoute(trader); + await ctx.approveProxy(lp); + await ctx.approveProxy(trader); await ctx.mintTestToken(lp, decimalStr("10"), decimalStr("1000")); await ctx.mintTestToken(trader, decimalStr("10"), decimalStr("1000")); - await ctx.Route.methods + await ctx.DVMProxy.methods .depositToDVM(ctx.DVM.options.address, lp, decimalStr("10"), decimalStr("0")) .send(ctx.sendParam(lp)); - console.log(await ctx.Vault.methods.getVaultBalance().call()) - console.log("deposit") } @@ -51,12 +49,16 @@ describe("Trader", () => { }); describe("trade", () => { + it.only("basic check", async () => { + console.log(await ctx.DVM.methods.getPMMState().call()) + console.log(await ctx.DVM.methods.querySellQuote(ctx.Deployer, decimalStr("200")).call()) + }) it("buy & sell", async () => { console.log("BASE0 before buy", await ctx.DVM.methods.getBase0().call()) // buy - await logGas(ctx.Route.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")), ctx.sendParam(trader), "buy base token") + await logGas(ctx.DVMProxy.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")), ctx.sendParam(trader), "buy base token") console.log("BASE0 after buy", await ctx.DVM.methods.getBase0().call()) // trader balances assert.equal( @@ -69,11 +71,11 @@ describe("Trader", () => { ); // vault balances assert.equal( - await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call(), + await ctx.BASE.methods.balanceOf(ctx.DVM.options.address).call(), "8051283784161162863" ); assert.equal( - await ctx.QUOTE.methods.balanceOf(ctx.Vault.options.address).call(), + await ctx.QUOTE.methods.balanceOf(ctx.DVM.options.address).call(), decimalStr("200") ); // maintainer balances @@ -87,7 +89,7 @@ describe("Trader", () => { ); // sell - await logGas(ctx.Route.methods.sellBaseOnDVM(ctx.DVM.options.address, trader, decimalStr("1"), decimalStr("100")), ctx.sendParam(trader), "sell base token") + await logGas(ctx.DVMProxy.methods.sellBaseOnDVM(ctx.DVM.options.address, trader, decimalStr("1"), decimalStr("100")), ctx.sendParam(trader), "sell base token") console.log("BASE0 after sell", await ctx.DVM.methods.getBase0().call()) // trader balances assert.equal( @@ -100,11 +102,11 @@ describe("Trader", () => { ); // vault balances assert.equal( - await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call(), + await ctx.BASE.methods.balanceOf(ctx.DVM.options.address).call(), "9051283784161162863" ); assert.equal( - await ctx.QUOTE.methods.balanceOf(ctx.Vault.options.address).call(), + await ctx.QUOTE.methods.balanceOf(ctx.DVM.options.address).call(), "96474456349930717298" ); // maintainer balances @@ -118,7 +120,7 @@ describe("Trader", () => { ); // buy when quoet is not 0 - await logGas(ctx.Route.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")), ctx.sendParam(trader), "buy base token") + await logGas(ctx.DVMProxy.methods.sellQuoteOnDVM(ctx.DVM.options.address, trader, decimalStr("200"), decimalStr("1")), ctx.sendParam(trader), "buy base token") console.log("BASE0 after second buy", await ctx.DVM.methods.getBase0().call()) // trader balances console.log( @@ -131,11 +133,11 @@ describe("Trader", () => { ); // vault balances console.log( - await ctx.BASE.methods.balanceOf(ctx.Vault.options.address).call(), + await ctx.BASE.methods.balanceOf(ctx.DVM.options.address).call(), "7158622099620899913" ); console.log( - await ctx.QUOTE.methods.balanceOf(ctx.Vault.options.address).call(), + await ctx.QUOTE.methods.balanceOf(ctx.DVM.options.address).call(), "296474456349930717298" ); // maintainer balances diff --git a/test/utils/Contracts.ts b/test/utils/Contracts.ts index 7964523..4f4efa6 100644 --- a/test/utils/Contracts.ts +++ b/test/utils/Contracts.ts @@ -31,10 +31,10 @@ export const DODO_MINE_READER_NAME = "DODOMineReader" export const DVM_VAULT_NAME = "DVMVault" export const DVM_NAME = "DVM" export const DVM_FACTORY_NAME = "DVMFactory" -export const SMART_ROUTE_NAME = "SmartRoute" +export const DVM_PROXY_NAME = "DVMProxy" export const CONST_FEE_RATE_MODEL_NAME = "ConstFeeRateModel" export const PERMISSION_MANAGER_NAME = "PermissionManager" -export const GAS_PRICE_SOURCE_NAME = "GasPriceSource" +export const EXTERNAL_VALUE_NAME = "ExternalValue" interface ContractJson { abi: any; diff --git a/test/utils/DVMContext.ts b/test/utils/DVMContext.ts index 02d721b..c457789 100644 --- a/test/utils/DVMContext.ts +++ b/test/utils/DVMContext.ts @@ -49,10 +49,9 @@ export let DefaultDVMContextInitConfig = { export class DVMContext { EVM: EVM; Web3: Web3; - Route: Contract; + DVMProxy: Contract; DVMFactory: Contract; DVM: Contract; - Vault: Contract; BASE: Contract; QUOTE: Contract; Deployer: string; @@ -64,20 +63,18 @@ export class DVMContext { async init(config: DVMContextInitConfig) { this.EVM = new EVM(); this.Web3 = getDefaultWeb3(); - this.Route = await contracts.newContract(contracts.SMART_ROUTE_NAME) + this.DVMProxy = await contracts.newContract(contracts.DVM_PROXY_NAME) var cloneFactory = await contracts.newContract( contracts.CLONE_FACTORY_CONTRACT_NAME ); - var vaultTemplate = await contracts.newContract(contracts.DVM_VAULT_NAME) var dvmTemplate = await contracts.newContract(contracts.DVM_NAME) var feeRateModelTemplate = await contracts.newContract(contracts.CONST_FEE_RATE_MODEL_NAME) var permissionManagerTemplate = await contracts.newContract(contracts.PERMISSION_MANAGER_NAME) - var gasPriceSource = await contracts.newContract(contracts.GAS_PRICE_SOURCE_NAME) + var gasPriceSource = await contracts.newContract(contracts.EXTERNAL_VALUE_NAME) this.DVMFactory = await contracts.newContract(contracts.DVM_FACTORY_NAME, [cloneFactory.options.address, - vaultTemplate.options.address, dvmTemplate.options.address, feeRateModelTemplate.options.address, permissionManagerTemplate.options.address, @@ -98,7 +95,7 @@ export class DVMContext { this.Maintainer = allAccounts[1]; this.SpareAccounts = allAccounts.slice(2, 10); - await this.DVMFactory.methods.createStandardDODOVendorMachine( + await this.DVMFactory.methods.createStandardDODOVendingMachine( this.BASE.options.address, this.QUOTE.options.address, config.lpFeeRate, @@ -109,10 +106,10 @@ export class DVMContext { var vendorMachines = await this.DVMFactory.methods.getVendorMachine(this.BASE.options.address, this.QUOTE.options.address).call() this.DVM = contracts.getContractWithAddress(contracts.DVM_NAME, vendorMachines[0]) - this.Vault = contracts.getContractWithAddress(contracts.DVM_VAULT_NAME, await this.DVM.methods._VAULT_().call()) await this.DVM.methods.setMaintainer(this.Maintainer).send(this.sendParam(this.Deployer)) - await gasPriceSource.methods.setGasPrice(MAX_UINT256).send(this.sendParam(this.Deployer)) + await gasPriceSource.methods.initOwner(this.Deployer).send(this.sendParam(this.Deployer)) + await gasPriceSource.methods.set(MAX_UINT256).send(this.sendParam(this.Deployer)) console.log(log.blueText("[Init DVM context]")); } @@ -133,12 +130,12 @@ export class DVMContext { .send(this.sendParam(this.Deployer)); } - async approveRoute(account: string) { + async approveProxy(account: string) { await this.BASE.methods - .approve(this.Route.options.address, MAX_UINT256) + .approve(this.DVMProxy.options.address, MAX_UINT256) .send(this.sendParam(account)); await this.QUOTE.methods - .approve(this.Route.options.address, MAX_UINT256) + .approve(this.DVMProxy.options.address, MAX_UINT256) .send(this.sendParam(account)); } }